TrainCtrl refactored.