GUI is now created BEFORE initial events are dispatched
EventDispatcher now has one EventAPI instance, this simplifies usage. Corresponding refactorings in this commit.