+        :note: The listener is held by Publisher() only by *weak* reference.
+        This means you must ensure you have at least one strong reference
+        to listener, otherwise it will be DOA ("dead on arrival"). This is 
+        particularly easy to forget when wrapping a listener method in a 
+        proxy object (e.g. to bind some of its parameters), e.g. 
+        
+        :code:
+            class Foo: 
+                def listener(self, event): pass
+            class Wrapper:
+                def __init__(self, fun): self.fun = fun
+                def __call__(self, *args): self.fun(*args)
+            foo = Foo()
+            Publisher().subscribe( Wrapper(foo.listener) ) # whoops: DOA!
+            wrapper = Wrapper(foo.listener)
+            Publisher().subscribe(wrapper) # good!
+