Basicamente, estas describiendo el modelo de canales y mensajes de GO.
Pegate una revisada de todo eso, que hay otras posibilidades muy interesantes para lo de juegos que se pueden modelar basado en ese modelo (que se llama
https://en.wikipedia.org/wiki/Commun...tial_processes).
Tambien revisa que es una corutina, un closure y como se usa el comando YIELD en C# o en Python.