Painless reachability with delegate