- Implement a housekeeping module that performs garbage collection in either the housekeeper binary or on the client.
  - clients should be able to run it in the background
- consumer registration to the queue's members znode (/dir/consumers/<id>) and publish task information and stats
- consumer registration to the queue's members znode (/dir/producers/<id>) and publish stats?
- Remove usages of `zkmq::ZkPath`
- standalone raft/paxos backend?
  - that would most likely be it's own project, that provides a distributed key/value interface for this to use
- tracing
  - how long it takes to run processing loops?
- metrics
  - producer: message serialization time
  - producer: message serialized size
  - producer: message enqueue time
  - producer: message total enqueue time
  - consumer: message de-serialization time
  - consumer: message consumption time
  - consumer: message filter time
  - consumer: time waiting for message
  - consumer: consumption attempts
