public function injectWidgetDependencies(WidgetInterface $widget, ServiceLocatorInterface $serviceLocator)
    {
        /** @var $serviceLocator \yimaWidgetator\Service\WidgetManager */
        $sm = $serviceLocator->getServiceLocator();
        if (!$sm)
            throw new \Exception('Service Manager can`t found.');

        /**
         * MVC Widget
         */
        if ($widget instanceof ViewRendererPlugInterface) {
            if (! $sm->has('ViewRenderer'))
                throw new \Exception('ViewRenderer service not found on Service Manager.');

            $widget->setView($sm->get('ViewRenderer'));
        }

        if ($widget instanceof iInitableWidgetFeature) {
            // widget initialize himself after all
            $widget->init();
        }

        /*if ($widget instanceof AbstractWidget) {
            // register widget in service locator with own unique id
            $sl = $this->getServiceLocator();
            $sl->setService($widget->getID(), $widget);
        }*/
    }