use Message.parse instead of .new
Message.new: turn raw into a kwarg
make Message.new accept all kinds of kwargs
use Message.new instead of Message.[]
drop Message.[]
minor Message#initialize refactoring
factor out Message::KNOWN_TYPES
factor out Message#raw_from
add Message.build
use Message.build instead of .new
Message.new: keep raw as the sole argument
refactor Message.new
refactor Message.build
adjust schema so results can be time-tracked