Refactored out EventsLog.

Removed Event from event classes.
Removed IEvent.
Added ObjectDeepCopy as is needed when passing objects into events (might get updated before dispatching).