code: function(newState){
  
      // when called with no args, it's a getter
      if (arguments.length === 0) {
        return this._currentState.stateName;
      }
  
      // activate by name
      if(typeof newState == 'string'){
  
        this._activateStateNamed(newState);
  
      // activate by index
      } else if (typeof newState == 'number'){
  
        this._activateState(this._states[newState]);
      }
  
      return this;
    }
docs: populated on init