In my application the main thread my create several worker threads that will
create additional objects. These additional objects become "publishers" and
the main thread object (amongst others) then can "register" to receive the
events.
My question is, what happens when the "publisher" object completes it's work
and disappears? Do I need to first broadcast a "please unregister" message
to the subscribers? When the publisher goes away, if the subscribers
haven't unregistered, will this create a leak and/or prevent the GC from
collecting the now demised publisher object?

Thanks!