Adding EventTrait, containing an implementation of EventInterface.

Event class updated to utilise this new trait.