That's pretty good, except that `__bridge_transfer` and `__bridge_retained` shouldn't be used in this case, since multiple invocations of the callback might unbalance the retain count. Just `__bridge` should be sufficient, since the filtering is synchronous anyways (and the block isn't going to get deallocated at least until we return).