ThreadModel now takes UserModel as a parameter.

Corrected poor formatting from my weekend changes.
Updates test cases reflect changes to ThreadModel