code: function(compute, func, context) {
  	var observation = new Observation(func, context, compute);
  	var updater = compute.updater.bind(compute);
  	//!steal-remove-start
  	if(process.env.NODE_ENV !== 'production') {
  		Object.defineProperty(updater,"name",{
  			value: canReflect.getName(compute) + ".updater",
  		});
  	}
  	//!steal-remove-end
  	compute.observation = observation;
  	return {
  		// Call `onchanged` when any source observables change.
  		_on: function() {
  			canReflect.onValue( observation, updater,"notify");
  			if (observation.hasOwnProperty("_value")) {// can-observation 4.1+
  				compute.value = observation._value;
  			} else {// can-observation < 4.1
  				compute.value = observation.value;
  			}
  		},
  		// Unbind `onchanged` from all source observables.
  		_off: function() {
  			canReflect.offValue( observation, updater,"notify");
  		},
  		getDepth: function() {
  			return observation.getDepth();
  		}
  	};
  }
docs: ### setupComputeHandlers A helper that creates an `_on` and `_off` function that will bind on source observables and update the value of the compute.