public function addRenderer($name, $renderer, $overwrite = false)
    {
        if (isset($this->renderers[$name]) && !$overwrite) {
            throw new InvalidArgumentException("Renderer with name '$name' is already registered.");
        }
        unset($this->renderers[$name]);
        // Is class? Exists?
        if (is_string($renderer) && !class_exists($renderer)) {
            throw new InvalidArgumentException("Renderer class '$renderer' doesn't exist.");
        }
        $this->renderers[$name] = $renderer;
        return $this;
    }