private IEnumerable <Colours> ElicitValidInput() { renderer.PrintEnterFirstGuessMessage(); var input = renderer.GetInput().Split(','); while (!inputValidator.HasValidNumberOfColours(input) || !inputValidator.HasValidColours(input)) { PrintApplicableErrorMessages(input); renderer.PrintEnterAnotherGuessMessage(); input = renderer.GetInput().Split(','); } return(inputProcessor.ProcessInput(input)); }