Snapshot & SnapshotFactory