Sometimes separate files are needed, but not as often as many people think. Look into using AutoText (building blocks) for your parts. This is stored in your template. So long as a document is linked to the template, it can use all of those parts.
You can also use AutoText and AutoTextList fields to pull parts into a document.
Automated Boilerplate Using Microsoft Word