Building a better NSPredicate on the fly