sigc::signal<void, Route &> signal_route_removed;
sigc::signal<void, Train &> signal_train_added;
sigc::signal<void, Train &> signal_train_removed;
sigc::signal<void, Route &> signal_route_removed;
sigc::signal<void, Train &> signal_train_added;
sigc::signal<void, Train &> signal_train_removed;
std::map<std::string, Route *> routes;
std::set<Block *> blocks;
std::map<unsigned, Train *> trains;
std::map<std::string, Route *> routes;
std::set<Block *> blocks;
std::map<unsigned, Train *> trains;
const std::map<unsigned, Train *> &get_trains() const { return trains; }
void remove_train(Train &);
const std::map<unsigned, Train *> &get_trains() const { return trains; }
void remove_train(Train &);