[EventDispatcher] Provide dispatcher as argument to listener.

This makes the even object much lighter.
[EventDispatcher] Pass event name as an argument to listeners.

Doing this because it's already freely available in the doDispatch()