Make the ConfigManager reusable
Add a butt load of state check to TrainManager

Which made us able to found an inconsistency in
ButtonSignalPassageTrainHandler (where the state was incorrect)