'WeakHashMap' in BaseListenerRegistry was a bad idea... listeners got
GC'ed right away. Whoops.