Guava: google core libraries for java
Eventbus: Publish / subscribe communication without components to explicitly register with one another. NOT for interprocess communication
In traditional Way
write code to manage listeners including synchronization etc. or use a utility class
To dispatch event, dispatch to each listener including error isolation and (if desired) asynchronicity
With Eventbus
EventBus does this
EventBus.post(Object)
Whatever you like
EventBus.unregister, though rarely used