Generalize plan snapshot

Im not 100% happy with `SnapshotPlannerSpec` so any suggestions to make it better would be much appreciated.
Should we be generating new and old here as well. You can use `Gen.frequency(..)` to help maybe.