docs: def _oneTransition(self, startState, inputToken, endState, outputTokens,
                         collector):
          """
          See L{MethodicalState.upon}.
          """
          # FIXME: tests for all of this (some of it is wrong)
          # if not isinstance(startState, MethodicalState):
          #     raise NotImplementedError("start state {} isn't a state"
          #                               .format(startState))
          # if not isinstance(inputToken, MethodicalInput):
          #     raise NotImplementedError("start state {} isn't an input"
          #                               .format(inputToken))
          # if not isinstance(endState, MethodicalState):
          #     raise NotImplementedError("end state {} isn't a state"
          #                               .format(startState))
          # for output in outputTokens:
          #     if not isinstance(endState, MethodicalState):
          #         raise NotImplementedError("output state {} isn't a state"
          #                                   .format(endState))
          self._automaton.addTransition(startState, inputToken, endState,
                                        tuple(outputTokens))
          inputToken.collectors[startState] = collector