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!');
        }
    }