code: function(raw) {
    this.enterStates = raw.enterStates.slice();
    this.exitStates = raw.exitStates.slice();
    this.resolveState = raw.resolveState;
  
    this.finalState = raw.enterStates[raw.enterStates.length - 1] || raw.resolveState;
  }
docs: @private
  
  A Transition takes the enter, exit and resolve states and normalizes
  them:
  
  takes any passed in contexts into consideration
  adds in `initialState`s