Support switching to code or key-level snapshots - closes #6