All these methods have been updated to just update the underlying builder, not the data in this object.  This means, the headers etc on this object become stale as soon as one of these mutating methods are called.  That's ok, because the only thing that ever uses WSRequest is a signature calculator, the only implementation that exists (and probably every will exist) is the oauth calculator, and it doesn't inspect anything after it has mutated the builder.