public static function registerSingletonInstance($instance)
    {
        self::verifyInstanceNotYetRegistered();
        self::verifyInstanceType($instance);
        self::$instance = $instance;
    }