Implements the Event Model