- Make zkstate global, so two states in the same app are actually one backend?
- Create ZkStateMap. Like HashMap<ZkState.id, Zkstate>, but is an LRU cache where infrequently accessed objects are unloaded?
- Add target info to logs, like `trace!(target: &*format!("zkstate::{}", &self.id), "message")