More work on Message::decode()