Motion control actions don't recognize when control strategy has been overwritten
Currently the MotionControlAction can only end regularly when the control strategy goal has been reached. But it doesn't handle the case when the control strategy is overwritten by another control strategy. A typical case like also mentioned in the OSC1 User Guide is when a second SpeedAction is started for the same entity while a first SpeedAction is still running. At the moment the first speed action will continue although it should complete (or if we have multiple actors, then the actor, for whom the control strategy was overwritten should be removed from the actors_with_running_control_strategy_
). HasControlStrategyGoalBeenReached()
is not sufficient to detect this case because the second control strategy is of the same type replaces the first control strategy.
One solution would be to assign Ids to the control strategies so they can be uniquely identified even if they have the same type.