Moving Product + Variant searching logics into their own classes