*
* The path between components is computed each time you request it,
* using the Dijkstra algorithm. A cache can be used to reduce the computation.
*
* The path between components is computed each time you request it,
* using the Dijkstra algorithm. A cache can be used to reduce the computation.