Also remove the return value on *MessageEncoder.encode(...) and also make the error handling the same for all encoder/decoder