Allow custom callbacks for client requests

This will allow us to pass custom callbacks to client responses. They're called with arguments that are the result of the client's default callback.
One limitation i see with using `callback` in this call is that the API can not have a param `callback` in its API, which is not that improbable.