Trailable is an interface that specifies the behavior of classes
Coach and NotifierCoach, the instances of which both can be pulled or
emptied in the game, that is, they can be forced to move by other Vehicle objects.
Moves this to the position given by nextSlot. It lets go of its
current position and occupies the newly given position and pulls
the object connected to it. The caller also passes information about the presence of
passengers in any Vehicles ahead.
nextSlot - the Slot to be occupied
hasPassengersAhead - there are passengers in the Trailables ahead of this