Maybe add generic type to the `MessageConverter`? Or it can take one type on `toMessage`, but produce another one from `fromMessage`?