As stated earlier, the checkpoint framework provides the interfaces
needed to add a new checkpoint kind to an application. Adding a new checkpoint
kind mainly consists of the following phases:
Specializing the
checkpoint::CheckpointKind interface.
Instantiating and registering the specialized
checkpoint::CheckpointKind.
Setting up the application version.
Adding code aimed at writing/reading checkpoints in the
application.