Lots of refactoring to get AllPairsFirstFirstSteps set up