WeakEventListener improvements