whole_func_string: function SetterObservable(getter, setter) {
  	this.setter = setter;
  	this.observation = new Observation(getter);
  	this.handler = this.handler.bind(this);
  
  	//!steal-remove-start
  	if (process.env.NODE_ENV !== 'production') {
  		canReflect.assignSymbols(this, {
  			"can.getName": function() {
  				return (
  					canReflect.getName(this.constructor) +
  					"<" +
  					canReflect.getName(getter) +
  					">"
  				);
  			}
  		});
  		Object.defineProperty(this.handler, "name", {
  			value: canReflect.getName(this) + ".handler"
  		});
  	}
  	//!steal-remove-end
  }
func_code_string: function SetterObservable(getter, setter) {
  	this.setter = setter;
  	this.observation = new Observation(getter);
  	this.handler = this.handler.bind(this);
  
  	//!steal-remove-start
  	if (process.env.NODE_ENV !== 'production') {
  		canReflect.assignSymbols(this, {
  			"can.getName": function() {
  				return (
  					canReflect.getName(this.constructor) +
  					"<" +
  					canReflect.getName(getter) +
  					">"
  				);
  			}
  		});
  		Object.defineProperty(this.handler, "name", {
  			value: canReflect.getName(this) + ".handler"
  		});
  	}
  	//!steal-remove-end
  }
func_documentation_string: SetterObservable's call a function when set. Their getter is backed up by an observation.