Once headless instances are pushing and pulling state from one another, they should have a way to synchronize their beats so they will play the same sounds given the same state. One architecture could be a hub-and-spoke in which the central beat server produces a stream of beat events. Beat events would replace the live_loop construct in driving the dispatch cadence. Every instance would either be driven by its own beat server (every instance would have one) or by a remote beat server.
Once headless instances are pushing and pulling state from one another, they should have a way to synchronize their beats so they will play the same sounds given the same state. One architecture could be a hub-and-spoke in which the central beat server produces a stream of beat events. Beat events would replace the live_loop construct in driving the dispatch cadence. Every instance would either be driven by its own beat server (every instance would have one) or by a remote beat server.