refactored ChildEventListeners to support Mediator