Added EventExecution interface, moved the event executing to the EventExecutor