Problem with using RPCs for important state changes is the client will not be aware of this new state if they were not ‘relevant’ at the time of the RPC. This can lead to an incorrect state.
For example, if the player just joined, they will not know of the previous state. Also, if the player was too far away from the train (to the point they were no longer ‘relevant’), when they do get back close to the train, its state will be out of date.