Согласен, когда первый раз использовал данный экшен тоже задумался о том, что логичнее бы развести по разным веткам (по крайне мере для логики моего шаблона именно так было необходимо), тоже думал кинуть в предложения, но чутка подумав, набросал себе такое решение:
int timeout = 120;
DateTime nowTime = DateTime.Now;
instance.WaitForUserAction(timeout, "Ждем действия");
DateTime finishTime = DateTime.Now;
TimeSpan interval = finishTime - nowTime;
if (interval.TotalSeconds < timeout) return true;
throw new Exception("Действие пользователем не выполнено");
Т.е. если кнопка "продолжить" будет нажата пользователем, то тогда пойдет по зеленой ветке, если пользователь не успеет за заданное время на неё нажать, то по красной.