Extract if-clauses into their own functions
Exploratory message handling

David and I spent some time with this and think that a more generic
`handle` method is better than highly specific per-message methods.

These changes are not as good as they could be, but they're meant to
illustrate a more economical style that allows us to compress, simplify,
and remove some methods.

We've also shifted to a string instead of integer id system for
messages. This makes the code more readable in certain spots and
simplifies some imports. This did require replacing the constants with
integers in one spot, but another mapping could be constructed to make
it more clear.