Flexible filtering of objects on a background thread with NSPredicate