respond to review comments; moved event bus to its own file