Refactor Event to be an object.

The evented variables are now accessible as attributes on the event object