Split out the writers to allow for correct 'replace-tag' semantics
Formatting