Refactored event system

Event bubbling is done bu needs refining.
Removed arguments object from event listeners.
Refactored event listeners