I think it should just be what was given to `setBody()` (or during construction), so by default it can be either a string/stringable object, but it could be something else if the implementation allows it (native stream or whatever). That should be flexible but simple.