This change is all we want upstream. To use this from our plugins, we intend:
Extend ResponseBuilder to have additional state (and we think others might want to as well).
Use an extended SearchHandler that simply creates our ResponseBuilder instead of the standard one.
We also extend QueryComponent to do our extra behavior if it sees our Response builder instead of the standard one.
We then change config to use our Search Handler for requestHandler with name="/select" and our QueryComponent for searchComponent with name="query".