/**
  * @param sTaskRun $run
  * @return sTask $this
  */
 public function run($run)
 {
     // Set status to executing (and save) so other triggers don't also run this one
     $run->set('status', sTaskRun::STATUS_EXECUTING);
     $run->save();
     // Run the task
     $return = $this->_run($run);
     // All done! Update status, completed date and save.
     $run->set('status', $run->hasErrors() ? sTaskRun::STATUS_FAILURE : sTaskRun::STATUS_SUCCESS);
     $run->set('message', $return);
     $run->set('executedon', time());
     $run->save();
     return $this;
 }