Basic query object structure
renamed to queryCriteria, add limit and offset
encapsulate search within Query object