/**
  * Save a {@link question_usage_by_activity} to the database. This works either
  * if the usage was newly created by {@link make_questions_usage_by_activity()}
  * or loaded from the database using {@link load_questions_usage_by_activity()}
  * @param question_usage_by_activity the usage to save.
  */
 public static function save_questions_usage_by_activity(question_usage_by_activity $quba)
 {
     $dm = new question_engine_data_mapper();
     $observer = $quba->get_observer();
     if ($observer instanceof question_engine_unit_of_work) {
         $observer->save($dm);
     } else {
         $dm->insert_questions_usage_by_activity($quba);
     }
 }