private static void ExecuteTurn(IHero hero) { var Action = hero.DetermineAction(); var Outcome = ActionValidator.ValidateAction(hero, Action); if (!Outcome.Success) { Action = new PassAction(); //Show message? } ActionExecutor.Execute(hero, Action); }