EventsAwareInterface restructure