Velocity templates should be called for ascenedant primary types

Fix for: https://www.pivotaltracker.com/s/projects/684825/stories/79207804
Refactor much of this code block into a new private method that can be called here and in line:145