Inlined a lot of stuff, still passes
Tidy up and extracted method
Tidy up and extracted method
Tidy up and extracted another method
Removed silly method
About to refactor to use a state object
Wrote GraphSortState class
Used GraphSortState for topologicalSort
About to refactor using TopSort
topologicalSort works with TopSort
Using cummulateWhile