whole_func_string: function() {
  		if(this.read) {
  			// 1. parse value
  			this.computed_observable = new Observer(this.createFunction("return ("+this.value+");", ["m", "p"], [this.context.model, this.context.parent], this.context.domElement), {
  				/* for debugging only */
  				domElement: this.context.domElement, 
  				attribute: this.name, 
  				value: this.value
  			});
  
  			// 2. add subscribers
  			this.read_binded = this.read.bind(this);
  			this.computed_observable.subscribe(this.read_binded);
  			
  			// 3. initial element update
  			this.read(this.computed_observable.currentValue);
  		}
  		if(this.event) {
  			this.event(this.createEventFunction());
  		}
  		/*if(registeredAttributes[i].event) {
  			// It is a data handler's job
  			this.event(name, eventFunctionFactory(value, context), context);
  		}*/
  	}
func_code_string: function() {
  		if(this.read) {
  			// 1. parse value
  			this.computed_observable = new Observer(this.createFunction("return ("+this.value+");", ["m", "p"], [this.context.model, this.context.parent], this.context.domElement), {
  				/* for debugging only */
  				domElement: this.context.domElement, 
  				attribute: this.name, 
  				value: this.value
  			});
  
  			// 2. add subscribers
  			this.read_binded = this.read.bind(this);
  			this.computed_observable.subscribe(this.read_binded);
  			
  			// 3. initial element update
  			this.read(this.computed_observable.currentValue);
  		}
  		if(this.event) {
  			this.event(this.createEventFunction());
  		}
  		/*if(registeredAttributes[i].event) {
  			// It is a data handler's job
  			this.event(name, eventFunctionFactory(value, context), context);
  		}*/
  	}
func_documentation_string: apply the binding