fixed: when initializing KSReachability from the main thread, reachable flag is only updated on the next iteration of the run loop