Introduce a ScanSearch object to encapsulate some scan search logic