Okay here’s an idea of how you can make a “Teamster” class work. (This is just an idea)
You could have the class be responsible for building the different wagons, as well as responsible for moving them.
For moving the wagons you could have it built around a timer system, so say you want a wagon to be outside your mine to help grab the ore. So you set the chest as being able to accept only ore, the teamster brings moves the wagon to the designated place at a certain time (so say 08:00). While its at this spot the wagon is set at a “load” state and be filled by the teamster until either it is filled or the time (say 15:00) arrives. Then you have a place set as the “unload” area where he/she will take it and empty the wagon and place the items in the closest stockpile or chest that will accept the items.
the next day they do it again (or until you redesignate the areas of “load” or “Unload” as well as the times. You would need to only have the additional animations of the cart moving. As well as the options for loading unloading and time.
What do you guys think?