refactor(event): synchronous EventBus

Simplify the EventBus by making its dispatching synchronous. This
makes testing deterministic.
Merge pull request #487 from bcwaldon/synchronous-event-bus

Simplify EventBus