code: function( range_or_descriptor, color_or_weight, weight ){
              var self = this;
              var _range, _col;
              if( arguments.length === 3 ){
                  this.parts.push( new _ThemePart(range_or_descriptor, color_or_weight, weight) );
                  this._weightedSum += weight;
              } else {
                  //tokenize
                  each(range_or_descriptor.split(' '), function( item ){
                      if( ColorRange.getPresetForName(item) ){
                          _range = ColorRange.getPresetForName(item);
                      } else if ( NamedColor.getForName(item) ){
                         _col = NamedColor.getForName(item);
                      }
                  });
                  if( _range ){
                      self.addRange( _range, _col, color_or_weight );
                  }
              }
              return this;
          }
docs: Add a range to the theme, 2 paramater options:
  @param {toxi.color.ColorRange|string} range_or_descriptor either a range
  or a tokenized string
  @param {toxi.color.TColor|Number} color_or_weight a color if you provided
  a ColorRange, or a weight if specified a descriptor
  @param {Number} [weight] a weight if you specified a ColorRange and a TColor
  for former parameters
  @return itself