fun track(): <ERROR CLASS><List<ProtocolStateMachineImpl<*>>, <ERROR CLASS><Change>>
Atomic get snapshot + subscribe. This is needed so we dont miss updates between subscriptions to changes and calls to allStateMachines