code: function ( obj, recs, args ) {
  	utility.genId( obj );
  
  	// Decorating observer if not present in prototype chain
  	if ( typeof obj.fire !== "function" ) {
  		observer.decorate( obj );
  	}
  
  	// Creating store
  	obj.data = new DataStore( obj );
  
  	if ( args instanceof Object ) {
  		utility.merge( obj.data, args );
  	}
  
  	if ( recs !== null && typeof recs === "object" ) {
  		obj.data.batch( "set", recs );
  	}
  
  	return obj;
  }
docs: Decorates a DataStore on an Object
  
  @method decorator
  @param  {Object} obj  Object
  @param  {Mixed}  recs [Optional] Data to set with this.batch
  @param  {Object} args [Optional] Arguments to set on the store
  @return {Object}      Decorated Object