1. Czasy jako String - to jest proszenie się o poważne problemy na dzień dobry - powinien być LocalDateTime albo inny obiekt
2. Miasta jako Stringi - no bo nie wiadomo o jakie miasta może chodzić, bo mogą być:
- Wroclaw Glowny
- Wrocław
- Breslau Hbf
- Wroclaw Central
W zależności od języka użytkownika podróżującego można używać różnych nazw tej samej stacji.
3. Statusy jako Stringi - powinien być enum class albo sealed class, a nie "On Time", "Delayed Xm", "Boarding" jako stringi.
4. TrainConnection miesza dane rozkładowe, biletowe i UI - to jest zły design modelu i łamanie zasady pojedynczej odpowiedzialności.
Już pierwsza klasa, a tyle do poprawy.