whole_func_string: function(syncId, blockCb, makeCb, reifyCb, cb){
  			_.assertLength(arguments, 5)
  			//_.assertFunction(listenerCb)
  			//_.assertFunction(objectCb)
  			_.assertFunction(blockCb)
  			_.assertFunction(makeCb)
  			_.assertFunction(reifyCb)
  			_.assertFunction(cb);
  			_.assertString(syncId)
  			var e = {syncId: syncId};
  			//applyRequestId(e, wrapper.bind(undefined, cb, makeCb));
  
  			log('BEGAN SYNC CLIENT')
  
  			w.beginSync(e);
  			/*syncListenersByRequestId[e.requestId]*/ 
  			syncListenersBySyncId[syncId] = {block: blockCb, make: makeCb, reify: reifyCb}
  			
  			cb(makeSyncHandle(syncId, makeCb))
  		}
func_code_string: function(syncId, blockCb, makeCb, reifyCb, cb){
  			_.assertLength(arguments, 5)
  			//_.assertFunction(listenerCb)
  			//_.assertFunction(objectCb)
  			_.assertFunction(blockCb)
  			_.assertFunction(makeCb)
  			_.assertFunction(reifyCb)
  			_.assertFunction(cb);
  			_.assertString(syncId)
  			var e = {syncId: syncId};
  			//applyRequestId(e, wrapper.bind(undefined, cb, makeCb));
  
  			log('BEGAN SYNC CLIENT')
  
  			w.beginSync(e);
  			/*syncListenersByRequestId[e.requestId]*/ 
  			syncListenersBySyncId[syncId] = {block: blockCb, make: makeCb, reify: reifyCb}
  			
  			cb(makeSyncHandle(syncId, makeCb))
  		}
func_documentation_string: even though we provide a default sync handle, we include the ability to create them for the purposes of proxying.