code: function refreshState(){
  		self._possibleTransitions = [];
  		for(var transitionIndex = 0; transitionIndex < self._states[self._currentState].transitions.length; ++transitionIndex){
  			var transition = self._states[self._currentState].transitions[transitionIndex];
  			// Initialize the new variable that we'll push() onto _possibleTransitions later.
  			var possibleTransition = {
  				destination: transition.destination,
  				action: transition.action,
  				outputEventType: transition.outputEventType,
  				remainingEvents: []
  			};
  			// Populate the list of remaining events that will be subsequently decreased, until it hits a count of zero, at which point this particular transition takes place.
  			for(var eventIndex = 0; eventIndex < transition.requiredEvents.length; ++eventIndex){
  				// Place the event specification into the list of remaining events.
  				var event = transition.requiredEvents[eventIndex];
  				possibleTransition.remainingEvents.push(event);
  			}
  			// Now that the transition specification is complete, add it to the list of transitions possible from the current state.
  			self._possibleTransitions.push(possibleTransition);
  			// Additionally, if the spec contained an outputEventType (which overrides SagaStateTransitioned for initiating transitions), register a handler for that event type.
  			if(possibleTransition.outputEventType){
  				// Duplicate handlers are checked, in order to avoid double state refresh (which would result in excessive event handler populations -> memory leak via avalanche effect after a few transitions).
  				//  This check is somewhat strange due to EventEmitter's listener function wrapping when using once().
  				if(!self.listeners(possibleTransition.outputEventType).some(function(listenerFunction){ return listenerFunction === applyTransition || listenerFunction.listener === applyTransition; })){
  					// The listener is not yet present, so add it.
  					self.once(possibleTransition.outputEventType, applyTransition);
  				}
  			}
  		}
  	}
docs: Helper function: copy the transitions and their events to a new, unshared store.