I really don't like the idea of a singleton that can be in an invalid state... I think this field is unnecessary anyway, since `LoadTopology()` is only called from the constructor, the only way `LoadTopology()` can fail is by throwing an exception, and an exception thrown from the constructor of a static object is uncatchable -> guaranteed to call `terminate()`.  So I think it can be removed.