initial implementation of EventBus