Move checkpoint into its own file to make it easy
Mechanisms to disable checkpoint