Redesign EventStore

Serialization/deserialization is in parallel
Writes are processed in order
Duplicates aren't written to Kafka
what happens if the future times out? so, if there was a big gc or something. how do we handle it?