I don't think in terms of formalisms, I think in terms of how to solve my problem. I use channels to send messages, where the recipient might be just one or possibly many listeners, but rarely. For example, I have one-thread-per-relay, and the overlord sends a 'shutdown' message to all of them. I'm not sure if that is the "event/listener" pattern.