anchor.diff:  		\code
   			myDataWrapper += fn(newData){	out("The value is now:",newData); };
   	*/
  -	T.onDataChanged @(init) := Std.require('Std/MultiProcedure');
  +	T.onDataChanged @(init) := require('./MultiProcedure');
   
   	/*! Refresh the internal data from the dataWrapper's data source. If the data has changed,
   		onDataChanged(newData) is called. This function has only to be called  manually if the connected data may change externally.*/
  
positive.code: 			myDataWrapper(10);  // is the same as myDataWrapper.set(10);
  			out( myDataWrapper() ); // outputs '10'. Is the same as out( myDataWrapper.get() );
  	*/
  	Std.require('Std/Traits/basics').addTrait(T,Std.require('Std/Traits/CallableTrait'),fn(obj,params...){
  		return params.empty() ? this.get() : this.set(params...);
  	});
  
  }
  // ------------------------------------------
  // (internal) AttributeWrapper ---|> DataWrapper
  
negative.code: // DataWrapper.escript
  // This file is part of the EScript programming language (http://escript.berlios.de)
  //
  // Copyright (C) 2013-2014 Claudius Jähn <claudius@uni-paderborn.de>
  //
  // Licensed under the MIT License. See LICENSE file for details.
  // ---------------------------------------------------------------------------------
  
  // Problem: JSONDataWrapper refresh on get
  // map getOrSet(key, default)????
  