This seems like the better choice, a lot of the logic is shared
between the document types, and it allows generating filenames in
a single place.
The only downside is that you must pass in the document type as
some content types have different typical names depending on the
document type (e.g. an 'office document' is the main document.xml,
workbook.xml and presentation.xml