Templating here is a three stage process, I will probably hide this away in a single method in the helper.