CS Listener Architecture
The main process is as follows:
All clients use heartbeat information to detect whether the value of CSKeys in ContextKeyCallbackEngine has changed.
ContextKeyCallbackEngine returns the updated CSKeys value to all registered clients through the heartbeat mechanism. If there is a client’s heartbeat timeout, remove the client.
Interface: ListenerManager
External: Provide ListenerBus for event delivery.
Internally: provide a callback engine for specific event registration, access, update, and heartbeat processing logic