base event bus implementation