even though we provide a default sync handle, we include the ability to create them for the purposes of proxying.
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))
		}