protected function createPresenter($presenter)
    {
        if (false === strpos($presenter, '::')) {
            throw new TemplateEngineException(sprintf('Presenter must be in the format class|service::method', $presenter));
        }

        list($class, $method) = explode('::', $presenter, 2);
        $presenter = $this->applicationContext->object($class);

        if (!method_exists($presenter, $method)) {
            throw new TemplateEngineException(sprintf('Presenter "%s" does not have a "%s" method.', $class, $method));
        }

        return array($presenter, $method);
    }