Cleaner implementation via new abstract class MCPatternMatcher and concrete subclasses MCWildcardMatcher and MCRegexMatcher