3.0 Event: dispatchEvent() wrapper

As discussed here: #4552 

I'm not sure about the test case... I'm open for any suggestions. What actually should be tested here?
Err nvm, $data can be null.