Change the Repository interface (and friends) to use a new Query<T> instead of returning a List directly