Revisit data persistence to include extra data fields

- removed window time conventions, depends on redis key expiration
- switch to expired keys, rather than setting expiration afterwards
- include extra data within keys
- tracking flow simplified
- observing flow aggregates stats
- observing flow returns user data