Updating the events system to use a class
Merge branch 'event-class'