public function make($view, $data = array(), $mergeData = array())
    {
        if (isset($this->aliases[$view])) $view = $this->aliases[$view];

        $path = $this->finder->find($view);

        if (is_null($path) || ! is_readable($path)) {
            throw new BadMethodCallException("File path [$path] does not exist");
        }

        $data = array_except(
            array_merge($mergeData, $this->parseData($data)), array('__data', '__path')
        );

        $this->callCreator(
            $view = new View($this, $this->getEngineFromPath($path), $view, $path, $data)
        );

        return $view;
    }