Instead of doing this it needs to save the given `Message`. This is because when it is retried and sent to a Receiver that Receiver can have a typehint on that className also it makes it transparent when moving it back from a failures queue (just unwrap the Message and give it to the producer again).