A more functional DocumentMaker. All tests pass.
A decent functional implementation of DocumentMaker. All tests pass.