Refactor messaging some

Moves the side-effects out of LoadTable.
Adds functions for each message type rather than constructing them on the fly.