public function fetch($template, array $data = [])
    {
        if (isset($data['template'])) {
            throw new \InvalidArgumentException("Duplicate template key found");
        }

        $data = array_merge($this->attributes, $data);

        $renderer = new \Philo\Blade\Blade($this->viewPaths, $this->cachePath, $this->events);
        return $renderer->view()->make($template, $data)->render();
    }