Added BaseEvent class