public function render(array $options = array())
    {
        if (!empty($options['providers'])) {
            $outputProviders = array();
            foreach ($options['providers'] as $provider) {
                $outputProviders[] = $this->getProvider($provider);
            }
        } else {
            $outputProviders = $this->getDefaultProviders();
        }

        unset($options['providers']);

        $renderedProviders = array();
        foreach ($outputProviders as $label => $provider) {
            $provider->setTemplateEngine($this->templateEngine);
            $provider->setTemplateName($options['template']);
            $provider->setLabel($label);
            $renderedProviders[$label] = $provider->render($options);
        }

        return $renderedProviders;
    }