code: function Property(oClass, name, info) {
  		info = typeof info !== 'object' ? { type: info } : info;
  		this.name = name;
  		this.type = info.type || 'string';
  		this.group = info.group || 'Misc';
  		this.defaultValue = info.defaultValue !== null ? info.defaultValue : null;
  		this.bindable = !!info.bindable;
  		this.deprecated = !!info.deprecated || false;
  		this.visibility = info.visibility || 'public';
  		this.byValue = info.byValue === true; // non-boolean values reserved for the future
  		this.selector = typeof info.selector === "string" ? info.selector : null;
  		this.appData = remainder(this, info);
  		this._oParent = oClass;
  		this._sUID = name;
  		this._iKind = Kind.PROPERTY;
  		var N = capitalize(name);
  		this._sMutator = 'set' + N;
  		this._sGetter = 'get' + N;
  		if ( this.bindable ) {
  			this._sBind =  'bind' + N;
  			this._sUnbind = 'unbind' + N;
  		} else {
  			this._sBind =
  			this._sUnbind = undefined;
  		}
  		this._oType = null;
  	}
docs: ---- Property -------------------------------------------------------------------------- 
  Property info object
  @private
  @since 1.27.1