public void removeListener(EventListener listener) { if (dispactchingLevel > 0) { listener.markDeleted (); } else { listeners.Remove(listener); } }