Makes sense to have NewTrain inside train.go
Fixing some stuff around train map and moving some train related code to train.go