Make subType a parameter instead of an option.
Make PageWriter.Close private, removing DocWriter.ClosePage.
Replace DocWriter.Close with WriteTo, removing wr from DocWriter.