Use value objects and make QueryResult IteratorAggregate