Change the ProxyClient and ProxyClientProvider interfaces to use a callback