public function addStep($text, $callable)
{
// make sure any nested action has completed
$this->closeAllOpenSubActions();
// create a log item for this step
$action = $this->newNestedAction();
$action->startAction($text);
// call the callback
$return = $callable($action);
// mark this action as complete
$action->endAction();
unset($this->nestedAction);
// all done
return $return;
}