The streamer lib uses a cache mechanism for the forwarding listeners so that we dont generate listeners that essentially do the same forwarding.
The caching happens on the basis of the tuple (in-transport: UTransport, out-authority: String). This makes it vulnerable if one transport handles multiple endpoints as the streamer will mistakenly think that a forwarding listener already exists if we try to add forwarding from a second (eg mqtt) entity to a (zenoh) entity that already has messages from another mqtt entity set up.