Minimize methods in HasTemplates and extract everything else into functions
HasTemplates
Add layoutObject method that allows customizing the value passed to the layout
layoutObject