AndroidEventBus
Library for android, simplifies communication between services
...It allows developers to define and post custom events that can be observed by multiple parts of an app, such as UI controllers, services, or background workers, without requiring direct references between senders and receivers. Unlike simple observer patterns, AndroidEventBus typically integrates with Android lifecycles so that subscribers are automatically registered, paused, or cleaned up based on activity/fragment state — reducing memory leaks and errant behavior during configuration changes. The library aims to simplify common inter-component messaging tasks (like posting a login success event or notifying multiple listeners of state changes) while preserving type safety and performance.