EventStore should return a promise