Simplify the AttributeMatcher class hierarchy and reduce duplicate code