     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())


final public class Ola: Reaching {
  private let reachability: SCNetworkReachability!
  private let queue: DispatchQueue
  private var cb: ((OlaStatus) -> Void)! = nil

  /// Create a new `Ola` object for the specifified host.
  ///
  /// - parameter host: The name of the host to determine reachability for.
  /// - parameter queue: The queue to schedule callbacks on.
  public init?(host: String, queue: DispatchQueue) {
    self.queue = queue
    guard let reachability = SCNetworkReachabilityCreateWithName(
      kCFAllocatorDefault,
      host


import Foundation
import SystemConfiguration

/// Enumerates the three basic states host might be in—a boiled down version of
/// `SCNetworkReachabilityFlags` in the `SystemConfiguration` framework.
