Reduce observer memory usage
Current situation
The observer
service currently store the recent workflows data in memory. This is fine for small workflows, but this leads to heavy memory usage when running large workflows.
Desired outcome
Disk space is cheap, use this as a backing store instead (maybe allow for multiple backing store).