     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 {
+  public func reach(setting callback: @escaping (OlaStatus) -> Void) -> Bool {
     var context = SCNetworkReachabilityContext(
       version: 0, info: nil, retain: nil, release: nil, copyDescription: nil)
     
-    self.cb = cb
+    self.cb = callback
 
     let me = Unmanaged.passUnretained(self)
     let info = UnsafeMutableRawPointer(me.toOpaque())

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

    SCNetworkReachabilitySetDispatchQueue(reachability, nil)
  }

  public func reach() -> OlaStatus {
    var flags = SCNetworkReachabilityFlags()
    guard SCNetworkReachabilityGetFlags(reachability, &flags) else {
