function getWidgetManager()
    {
    	if (! $this->widgetManager) {
            $sm = $this->getServiceLocator()->getServiceLocator();
            $widgetManager  = $sm->get('yimaWidgetator.WidgetManager');

            if (!($widgetManager instanceof WidgetManager)
                || !($widgetManager instanceof AbstractPluginManager)
            )
                throw new \Exception(sprintf(
                    'WidgetManager must instance of WidgetManager or AbstractPluginManager, but "%s" given from \'yimaWidgetator.WidgetManager\'',
                    is_object($widgetManager) ? get_class($widgetManager) : gettype($widgetManager)
                ));

            $this->widgetManager = $widgetManager;
    	}

    	return $this->widgetManager;
    }