we have a Message class that mostly represents a bunch of bytes (but sometimes does not, which in some cases causes bugs) and a bunch of other *Message classes that are not Message subclasses but generate Message objects (so you have the amusingly redundant Message message = readResponseMessage.makeReadResponseMessage() in places).
I think we can replace these ad-hoc and tedious-to-write Message factories with generated thrift code. Thrift is good at this and efficient (currently our message identifiers are inefficient strings like "ROW-READ-VERB-HANDLER"). Any objections to investigating replacing the hand-coded messages with thrift?
