Currently we can chat-data-structure but this kinda smells.
Instead we could return a go channel that any background processes could put on. The command handling pipeline would take values from it and post them to chat.
Not sure if that channel would need to be explicitly closed when the command is done. 🤔