Move DoubleFactorNodeComparator to a separate file
Extract a Queue interface
Refactor to provide whole-graph critical path list
Accomodate to changes introduced by adding a constructor parameter