Description
GroupCommunication currently only has one universal observer that handles connections for all incoming clients. This is inconvenient because when a client fails or disconnects, there is no easy way to propagate the failure/completion signal of the specific failed client up to the universal observer.
Provided that each CommunicationGroupClient knows all its downstream nodes and can reverse-lookup the endpoints, the CommunicationGroupClient should only create an observer for each endpoint instead of using the universal observer.