whole_func_string: function(property, val) {
  		if(val === undefined) {
  			// if second argument is missing, use property as value
  			val = (property === undefined) ? this : property;
  			property = "__all__";
  		}
  		
  		if(property == "__all__") {
  			// notify global subscribers
  			notify(this._subscribers["__all__"], val);
  		}
  		else {
  			// notify all subscribers of property
  			notify(this._subscribers[property], val);
  			
  			// notify global subscribers as well
  			this.notify(/*TODO: some usefull value*/);
  		}
  	}
func_code_string: function(property, val) {
  		if(val === undefined) {
  			// if second argument is missing, use property as value
  			val = (property === undefined) ? this : property;
  			property = "__all__";
  		}
  		
  		if(property == "__all__") {
  			// notify global subscribers
  			notify(this._subscribers["__all__"], val);
  		}
  		else {
  			// notify all subscribers of property
  			notify(this._subscribers[property], val);
  			
  			// notify global subscribers as well
  			this.notify(/*TODO: some usefull value*/);
  		}
  	}
func_documentation_string: Notifiy subscribers for changes