code: function(initialValue, settings) {
  
  		this.value = initialValue;
  
  		this._set = settings.set || this._set;
  		this._get = settings.get || this._get;
  
  		// This allows updater to be called without any arguments.
  		// selfUpdater flag can be set by things that want to call updater themselves.
  		if(!settings.__selfUpdater) {
  			var self = this,
  				oldUpdater = this.updater;
  			this.updater = function() {
  				oldUpdater.call(self, self._get(), self.value);
  			};
  		}
  
  
  		this._on = settings.on ? settings.on : this._on;
  		this._off = settings.off ? settings.off : this._off;
  	}
docs: ## Setup settings computes Use whatever `on`, `off`, `get`, `set` the users provided as the internal methods.