 }
 
 class TestCache2: CacheLevel {
-  typealias KeyType = Int
-  typealias OutputType = Int
+  typealias KeyType = NSData
+  typealias OutputType = NSData
   
   func get(fetchable: KeyType, onSuccess success: (OutputType) -> Void, onFailure failure: (NSError?) -> Void) {
     

    let delayTime = dispatch_time(DISPATCH_TIME_NOW,
      Int64(2 * Double(NSEC_PER_SEC)))
    dispatch_after(delayTime, dispatch_get_main_queue()) {
      cache.get("http://www.google.de", onSuccess: { value in
        println("Fetched successfully \(value)")
        }, onFailure: { error in
          println("Error \(error) during fetch")
      })
    }
  }


class TestCache: CacheLevel {
  typealias KeyType = NSURL
  typealias OutputType = NSData
  
  func get(fetchable: KeyType, onSuccess success: (OutputType) -> Void, onFailure failure: (NSError?) -> Void) {
  }
