code: function(path, value, fromParent) {
  		// console.log('context.set : ', this.path, path, value, fromParent);
  		// .set({ ...:..., ... }) case
  		if (typeof path === 'object' && !path.forEach && !value) {
  			for (var i in path)
  				this.set(i, path[i], fromParent);
  			return this;
  		}
  		path = parsePath(path);
  		// $this case : reset
  		if (path.length === 1 && path[0] === '$this')
  			return this.reset(value, fromParent);
  
  		path = modification(this, 'set', path, [value], fromParent);
  		if (path.__yContext__)
  			return this;
  		// console.log('context.set : really apply : ', this.path, path, value, fromParent);
  		var old = utils.setProp(this.data, path, value);
  		if (old !== value)
  			this.notify('set', path, value, path[path.length - 1]);
  		return this;
  	}
docs: _________________________________________ MODIFICATION API