refactored so that everything in the clientProxy has a callback method