this looks a bit odd. Isn't there a way to have
send_stream_event()
return a value, which could be infant_event_ or the infant context
itself?
I don't see a sensible way: The information would have to go via a
return value of listeners. And listeners are by design passive, so we
shouldn't allow them to return values. Listeners that return values
would basically re-introduce the problem we had previously with
try_music's return value.
In addition, each event can be listened to by any number of listeners,
both in the context tree and in the back-end. I don't see a sensible
way of making send_stream_event combine these return values into one
useful value, and there would be problems with return values that
depend on which back-end is used.
Do you have any concrete ideas?