/**
  * @singleton method used to instantiate class object
  * @access public
  * @param  \EE_Registry        $Registry
  * @return \EE_System
  */
 public static function instance(EE_Registry $Registry = null)
 {
     // check if class object is instantiated
     if (!self::$_instance instanceof EE_System) {
         self::$_instance = new self($Registry);
     }
     return self::$_instance;
 }
 /**
  * resets the instance and returns it
  * @return EE_System
  */
 public static function reset()
 {
     self::$_instance = NULL;
     return self::instance();
 }
 /**
  *	@singleton method used to instantiate class object
  *	@access public
  *	@return EE_System
  */
 public static function instance()
 {
     // check if class object is instantiated, and instantiated properly
     if (self::$_instance === NULL or !is_object(self::$_instance) or !self::$_instance instanceof EE_System) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
 /**
  *	@singleton method used to instantiate class object
  *	@access public
  *	@return EE_System
  */
 public static function instance()
 {
     // check if class object is instantiated
     if (!self::$_instance instanceof EE_System) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }