Split Event and EventFunctor, clearer Event syntax