     SCNetworkReachabilitySetDispatchQueue(reachability, nil)
   }
 
-  /// Checks the reachability of the host.
-  ///
-  /// - returns: The status of the host.
   public func reach() -> OlaStatus {
     var flags = SCNetworkReachabilityFlags()
     guard SCNetworkReachabilityGetFlags(reachability, &flags) else {

    return status(flags)
  }

  /// Installs the callback to be applied when the reachability of the host 
  /// changes. The monitoring stops when the given `Ola` object deinitializes.
  /// 
  /// - parameter cb: The callback to apply when reachability changes.
  /// - returns: `true` if the callback has been successfully installed.
  public func reachWithCallback(_ cb: @escaping (OlaStatus) -> Void) -> Bool {
    var context = SCNetworkReachabilityContext(
      version: 0, info: nil, retain: nil, release: nil, copyDescription: nil)
    
    self.cb = cb

    let me = Unmanaged.passUnretained(self)
    let info = UnsafeMutableRawPointer(me.toOpaque())

    
    let closure: SCNetworkReachabilityCallBack = {(_, flags, info) in
      let me = Unmanaged<Ola>.fromOpaque(info!).takeUnretainedValue()
      DispatchQueue.global().async {
        me.cb(status(flags))
      }
    }
