template could then be a function, returning the name of a file that contains the template, and viola, each style can overwrite and extensions can extend/overwrite as needed