Clean up some message interfaces.

This gets rid of some cruft built up from incremental/transitional work.
This also breaks out rendering to a new file.