code: function Text(options) {
  
  	this.__proto__ = new Control();
  
  	this.init = function(options) {
  		this.type = options.type = 'Text';
  		this.parent = options.parent;
  		this.defaults = {
  			x:48, y:48,
  			text: '',
  			fill:this.parent.fill,
  			fill_highlight: this.parent.lighter(this.parent.stroke),
  			stroke: this.parent.stroke,
  			'stroke-width': this.parent.control_stroke,
  			fontsize: this.parent.fontsize,
  			script: undefined,
  			onload: undefined
  		};
  		this.setoptions(options);
  		this.render();
  		return this;
  	};
  
  	this.render = function() {
  		this.label = this.parent.paper.text(this.x, this.y, this.text)
  			.attr({fill:this.stroke, stroke:this.stroke, 'font-size': this.fontsize,
  				'text-anchor': 'start'});	// http://stackoverflow.com/questions/2124763/raphael-js-and-text-positioning
  		this.textelts.push(this.label);
  		this.sethandlers();
  	};
  
  	this.move = function(newx, newy) {
  		this.label.attr({x:this.x, y:this.y});
  	};
  
  	this.setValue = function(value) {
  		this.value = value;
  		this.label.attr({text: this.value});
  		var update = {id: this.id, value: this.value};
  		this.fire('update', update);
  	};
  
  	return this.init(options || {});
  }
docs: ////////  Text control