А какова цель? Получить более естественный, легко читаемый код?
Чем не нравится конструкция типа:
$this->template('templateName')->withData($array)->render()
Есть еще вариантик - перекрыть в Template метод __toString():
В render устанавливаете имя шаблона, в withData параметры.
В __toString вызываете непосредственно render с установленными ранее именем шаблона и параметрами.
Тогда весь вызов будет как (string)$tpl->render('templateName')->withData($dataArray)
Так или иначе, вам придется определять какой-то терминальный метод. Просто во втором случае он неявно вызывается, в том числе и в конструкциях типа
$html = "<some html code>$tpl</some html code>"