we use networkx under the hood for shortest path, but we also keep a Map[LinkId, Link]. when we want to update speeds, we will need to update them in both places, so that Dijkstras and LinkTraversals are correct.
the real solution? drop one or the other.