Merge pull request #1042 from rustyswayne/Refactor/M-502

Adds more tests, builders, models, and model extensions.