Snapshots

One test failed but it's unrelated to these changes, so I think it was being flaky.
Yeah, maybe feature that could be opt'd in is an in-memory LRU cache of snapshots. A similar feature that we may have talked about before is in memory event stream caching