(1) Fix for path propagation along neighborhood edges
(2) decoupled path construction algorithms using a factory
(3) removed a debugging loop from a test case