 		return promise
 	}
 	
-	public func dataTask(request : NSURLRequest) -> Promise<Result<(NSData, NSURLResponse)>> {
-		let promise = Promise<Result<(NSData, NSURLResponse)>>()
+	public func dataTask(request : NSURLRequest) -> TaskPromise<Result<(NSData, NSURLResponse)>> {
+		let promise = TaskPromise<Result<(NSData, NSURLResponse)>>()
 		
-		let task = dataTaskWithRequest(request) { data, response, error in
+		promise.task = dataTaskWithRequest(request) { data, response, error in
 			if let error = error {
 				promise.setValue(.Error(error))
 			} else {

			}
		}
		
		return promise
	}
	

				promise.setValue(.Ok(Box(value)))
			}
		}
		
		promise.task?.resume()
		
		return promise
	}
