added the event manager class and the event listener class