The 'id' is included in the 'request' already, this is an artifact from the past - we should remove it outright.
The 'type' could be moved into the 'request', which probably makes more sense anyhow.
ConsumerPartition + offsets could be grouped together in a single ConsumerState object, this would move blowing up and persisting by partition into the persistence adapter, but should not functionally change anything. It'll cleanup the logic in the handler quite a bit too, and probably makes more sense in the adapter anyhow since the reason we do it the way we do is very specific for Zookeeper.
ConsumerPartition
+ offsets could be grouped together in a singleConsumerState
object, this would move blowing up and persisting by partition into the persistence adapter, but should not functionally change anything. It'll cleanup the logic in the handler quite a bit too, and probably makes more sense in the adapter anyhow since the reason we do it the way we do is very specific for Zookeeper.