Added the event manager and listener + event abstacts