Event class and EventType enum