Reworked the event handling system :)