extracting view concerns into templates