a simpler design for EventStore