private function getWidgetLocalClass(string $widgetType) : AbstractWidget
    {
        //====================================================================//
        // Safety Check => Widget Type is Mapped
        if (!in_array($widgetType, array_keys(self::$widgetsMap), true)) {
            throw new Exception(sprintf("Unknown Widget Type : %s", $widgetType));
        }
        //====================================================================//
        // Get Widget Class
        $className = static::$widgetsMap[$widgetType];
        //====================================================================//
        // Safety Check => Validate Widget Class
        if (true !== $this->isValidWidgetClass($className)) {
            throw new Exception($this->isValidWidgetClass($className));
        }
        //====================================================================//
        // Create Widget Class
        $genericWidget = new $className($this);
        //====================================================================//
        // If StandaloneWidget => Configure it!
        if (is_subclass_of($className, AbstractStandaloneWidget::class)) {
            $genericWidget->configure($widgetType, $this->getWebserviceId(), $this->getConfiguration());
        }

        return $genericWidget;
    }