Refactor to use a collection of encapsulated matchers depending on user search option selection