Refactorings for data passing
Alternate template