I wonder if it might be nicer to have the matchCount instead be encompassed in a new class that composes a CommandMatcher so it can be more readily reused if we add another CommandMatcher for example and also it would reduce the constructor complexity here.