Runs the DFA.
Runs the DFA. Terminates when some state has an action that transitions to the final state.
Results are "returned" by way of side-effecting the dfaStatus member of the Registers object. The results convey that we've either Failed, Succeeded, encountered EndOfData or we need to Pause and make a determination of what follows us before we can continue. It's needed because of this whole idea of 'pausing' and 'resuming' for back tracking.
The state machine is an array of states.
The state machine is an array of states. So each State has a distinguished index. 0 is reserved for the final state.