 
 @objc class SpecBox {
   let spec: Spec
-  let runner: SpecRunner
 
-  init(_ aSpec: Spec, _ aRunner: SpecRunner) {
+  init(_ aSpec: Spec) {
     spec = aSpec
-    runner = aRunner
   }
 }
 

      specStatus = .Unknown

      let block = { () -> () in
        self.runSpec(SpecBox(spec, self))
      }

      let timeout: NSTimeInterval = 2; // 2 seconds in the future

    exit(hasFailure ? 1 : 0)
  }

  func prepareForSpec(spec: Spec) {
    // Silence assertions on this thread
    RSilentAssertionHandler.setup()

    let className = getClassNameOfObject(spec as! AnyObject)

    currentGroup = Group(className)
    specStatus   = .Passed
  }

  @objc func runSpec(specBox: SpecBox) {
    let spec = specBox.spec

    prepareForSpec(spec)

    // Process the definitions
    spec.spec()
