public IEnumerable <ModelStep> GetSteps(State state, params Action[] actions) { foreach (Action action in actions) { SetState(state); ActionInfo actionMethod = actionMethodMap[action.ActionSymbol]; actionMethod.Execute(action.Arguments()); State targetState = GetState(); yield return(new ModelStep(action, this, targetState)); } }