die template-problematik besteht vor allem darin, daß in den templates widerum ein mischmatstch von programm und darstellung besteht. darum halte ich templates für müll.
wenn du wirklich eine trennung von logik und darstellung möchtest, baue eine datenstuktur als ergebnis der anwendungslogick auf, welche dann recht einfach in der darstellung benutzt werden kann.
zudem kann dieser ergebnisbaum auch zum datenaustausch benutzt werden. (z.b. xml)