         super.init()
         task = session.dataTaskWithRequest(req)
         DelegateManager.sharedInstance.addResponseForTask(task)
+		state = .Ready
     }
     
     //MARK: Subclassed NSOperation Methods

    If you aren't using the DelegateManager, you will have to call this in your delegate's URLSession:dataTask:didCompleteWithError: method
    */
    public func finish() {
        self.willChangeValueForKey("isExecuting")
        self.willChangeValueForKey("isFinished")
        
        running = false
        done = true
        
        self.didChangeValueForKey("isExecuting")
        self.didChangeValueForKey("isFinished")
    }
    
    /**
    Class method to create a GET request that handles the NSMutableURLRequest and parameter encoding for you.
    */

    Start the HTTP task. Make sure to set the onFinish closure before calling this to get a response.
    */
    override public func start() {
		if cancelled {
			state = .Finished
			return
		}
		
		state = .Executing
		task.resume()
    }
	
    /**
    Cancel the running task
    */
    override public func cancel() {
        task.cancel()
        finish()
    }
    /**
