new event bus interface and implementation