It might make sense to have some external graph library, e.g.: * https://github.com/bluss/petgraph * https://github.com/samueltardieu/pathfinding This would not only make serialization easier, but we could reuse many of the implemented routing algorithms.