Я считаю, что довольно трудозатратно будет сделать, чтобы IoT оповещал, что в каком то месте оборудования есть трещина или что какая-то часть сильно загрязнилась и требуется вмешательство. Ну и много других факторов который человек осознаёт, что надо исправлять.
Абсолютно также подумал когда читал.
Классический рефакторинг ExtractMethod.
Делаем примерно следующее:
BoxcarsData = LoadBoxcarsFromArchive();
Boxcars = ParseBoxcarData(BoxcarData);
FreeBoxcars = GetFreeBoxcars(Boxcars);
UpdateFreeBoxcarsList(FreeBoxcars);