Changing dispatcher to work with Interfaces for events