SimpleEventBroadcaster.
Events are broadcast to each event in a separate thread so that the broadcaster is not a bottleneck.
No defined order is set for how each event will receive an event, so you should not assume any order
in listeners being called.