refactory event store design.