The EventBus allows publish-subscribe-style communication between components without requiring the components to explicitly register with one another (and thus be aware of each other). Inspired by Guava EventBus ; this is a more lightweight implementation.