public static function Factory($Alias = FALSE) {
      if (is_null(self::$_Factory)) {
         self::SetFactory(new Gdn_Factory());
         self::FactoryOverwrite(FALSE);
      }

      if ($Alias === FALSE)
         return self::$_Factory;
      
      // Get the arguments to pass to the factory.
      //$Args = array($Arg1, $Arg2, $Arg3, $Arg4, $Arg5);
      $Args = func_get_args();
      array_shift($Args);
      return self::$_Factory->Factory($Alias, $Args);
   }