Further factoring Snapshotmanager, using policy-based design