Refactor to take the JSON out of the response protocol. It's not
BufferredResponseProtocol and it's up to the caller to decode the
output.