move Store in to its own file
Make Store use instance methods (of a singleton) instead of class methods
Allow event to map on to a different method
Replace Hash with Struct