normalized event bus api