move transaction scope management into Template.java