public RegexEngine(Regex regex, string input) { _input = input; // Every time GetParseSteps() is called, the Regex gets a new IRegexEngine. _getParseSteps = () => regex.Parse(new RegexEngineInternal(input)); }