why pass a flag for wrap?  and make the default wrap a no-op?  Is there a case where a subclass would only wrap some of the responses?