You are right, however I have not found a better way to handle it. The ```StubResponse```  object properties are set on the fly (that's why it's mutable) every time a ```with*``` method is called. The problem is you can't make the user call ```withEncoding()``` before ```withBody(String)```. This stubbing is perfectly valid:

```java
onRequest().respond()
    .withBody("aaa")
    .withEncoding(UTF_8);
```

If there was a ```setBody(final String body, final Charset encoding)``` method on the ```StubResponse``` class, the ```Stubbing``` instance would have to wait until both ```withBody``` and ```withEncoding``` method have been called and then call this method. Which means the ```Stubbing``` object would have to hold the _first_ value and wait for the _second_ one. Which is exactly what the ```StubResponse``` class does.