Preliminary implementation of SnapshotManager (untested)