Apollo 3946 partial refactor

Refactor of documents to support all types going forward. Warning until done in the b/e and f/e do not merge, this will break all the things