code: function(val) {
  			var isUpdating = typeof val !== 'undefined';
  			var allItems = this.parent.list();
  			if (isUpdating && this.isIncomplete()) {
  				var self = this;
  				var donor = utils.find(allItems, function(item) {
  					return item !== self && !item.isIncomplete();
  				});
  
  				this.styleSeparator = donor 
  					? donor.styleSeparator 
  					: this.parent.options.styleSeparator;
  				this.parent._updateSource(this.styleSeparator, range(this.valueRange().start, 0));
  			}
  
  			var value = this.constructor.__super__.value.apply(this, arguments);
  			if (isUpdating) {
  				// make sure current property has terminating semi-colon
  				// if it’s not the last one
  				var ix = allItems.indexOf(this);
  				if (ix !== allItems.length - 1 && !this.end()) {
  					this.end(';');
  				}
  			}
  			return value;
  		}
docs: Sets of gets element value.
  When setting value, this implementation will ensure that your have
  proper name-value separator
  @param {String} val New element value. If not passed, current
  value is returned
  @returns {String}