Factor out SearchOptions class