for Event::target:Object, why it's typed as Object rather than IEventDispatcher?