public void DispatchAction(MyTuple <string, Action> action) { PrintLine($"Dispatch Action <{action.Item1}>"); action.Item2(); if (action.Item2 == ActionStopPistons) { sequence_index = -1; Events.Clear(); } else if (action.Item2 == ActionPass) { if (sequence_index != calculated_sequence_index) { sequence_index = calculated_sequence_index; } } else { sequence_index++; if (sequence_index >= sequence.Count - 1) { sequence_index = 0; } } }