Feature/event system

Finished up the Event System pretty much. Did only minor testing though so their might be some hidden bugs laying in wait.