code: public static function getNavigator($direction, $scope)
      {
          $className = __NAMESPACE__ . '\QtiRunnerNavigation' . ucfirst($direction) . ucfirst($scope);
          if (class_exists($className)) {
              $navigator = new $className();
              if ($navigator instanceof RunnerNavigation) {
                  return $navigator;
              } else {
                  throw new \common_exception_InconsistentData('Navigator must be an instance of RunnerNavigation');
              }
          } else {
              throw new \common_exception_NotImplemented('The action is invalid!');
          }
      }
docs: Gets a QTI runner navigator
  @param string $direction
  @param string $scope
  @return RunnerNavigation
  @throws \common_exception_InconsistentData
  @throws \common_exception_NotImplemented