Issue #57: Introduce snapshot stages to better suit the API.