[stores] StoreClass TODO: Accept either a declarative object, or a string and function for the on() method