public static function widget($widgetType)
    {
        //====================================================================//
        // First Access to Local Objects
        if (!isset(self::core()->widgets)) {
            //====================================================================//
            // Initialize Local Widget Class Array
            self::core()->widgets = array();
        }

        //====================================================================//
        // Check in Cache
        if (array_key_exists($widgetType, self::core()->widgets)) {
            return self::core()->widgets[$widgetType];
        }

        //====================================================================//
        // Verify if Widget Class is Valid
        if (!self::validate()->isValidWidget($widgetType)) {
            throw new Exception('You requested access to an Invalid Widget Type : '.$widgetType);
        }

        //====================================================================//
        // Check if Widget Manager is Overriden
        if (self::local() instanceof WidgetsProviderInterface) {
            //====================================================================//
            // Initialize Local Widget Manager
            self::core()->widgets[$widgetType] = self::local()->widget($widgetType);
        } else {
            //====================================================================//
            // Initialize Class
            $className = SPLASH_CLASS_PREFIX.'\\Widgets\\'.$widgetType;
            self::core()->widgets[$widgetType] = new $className();
        }

        //====================================================================//
        //  Load Translation File
        self::translator()->load('widgets');

        return self::core()->widgets[$widgetType];
    }