- deduplicate events (for some reason contract event subscription callbacks are firing more than once
- order events by timestamp
- prettify event names
- give each event a unique id so they can be deleted one-by-one
The purpose was to emulate the structure of a request in the contract, so that the entire request object could be overwritten, and then the app state, eg moderated, would be separately set. Other state properties are also only fetched if not already fetched.