@winet
> И мне не очень нравится идея, что шаблон лежит отдельно от кода

А я наоборот терпеть ненавижу, когда в одну кучу мешают логику и представление.