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?
Typehint `$data` as `array`.