Refactor message extraction into decoders and clients.