Multiple SignalStream for the same underlying stream can eat each other's messages
At the moment, SignalStream
works through receive_specific
and hands over the received message for the first caller whose predicate matches, so if there'd be multiple streams for the same signal, only the first one will get the signal. A solution would be to put all received messages in an Arc
and return clones to all matched streams.