   let name:String
   var cases = [CaseType]()
 
-  //var befores
-  //var afters
+  typealias Before = (() -> ())
+  typealias After = (() -> ())
+
+  var befores = [Before]()
+  var afters = [After]()
 
   init(name:String) {
     self.name = name

public protocol ContextType {
  func context(name:String, closure:ContextType -> ())
  func describe(name:String, closure:ContextType -> ())
  func before(closure:() throws -> ())
  func after(closure:() throws -> ())
  func it(name:String, closure:() throws -> ())
}


    cases.append(context)
  }

  func before(closure:() -> ()) {
    befores.append(closure)
  }

  func after(closure:() -> ()) {
    afters.append(closure)
  }

  func it(name:String, closure:() throws -> ()) {
