In reply to @isofruit "I guess the chain": yea, better have a cycle free graph here. But if the new consumer cannot request/ask for anything from the source - no direct connection, then the flow starts at the end-of-the-chain - consumer forwards his request to the next parent until it reaches the root=source. Or you have sort of a "broker" that handles the request - eg. in macOS you'd have "CommunicationCenters" - not sure if i remeber the right term here, which act as request/response-brokers between arbitrary objects/instances..