public function set($fieldName, $value)
{
// convert $value into something that can appear in our logs
$convertor = new DataPrinter();
$printable = $convertor->convertToString($value);
// what are we doing?
$log = usingLog()->startAction("set checkpoint field '{$fieldName}' to '{$printable}'");
// get the checkpoint
$checkpoint = getCheckpoint();
// set the value
$checkpoint->{$fieldName} = $value;
// all done
$log->endAction();
}