Use query object pattern for typeahead