Use SCNetworkReachbility's GCD API
Invoke our callback block on initialisation if necessary
Add some functional tests