Refactored events for simplicity
abstraction on data store