First stab at EventStore support

Need to talk to Greg about what is the best way to go about this. It's a
bit of a mess right now.