             didChangeValue(forKey: "isFinished")
         }
     }
-
-
+    
+    
     //MARK: Callbacks
     public var didFinishWithErrorCallback : ((_ error: Error?) -> Void)?
     public var didFinishSuccessfullyCallback : ((_ responseObject: AnyObject?) -> Void)?
-
+    
     //MARK: Overriden Methods
-    override func start() {
+    override open func start() {
         DispatchQueue.main.async {
             self.willChangeValue(forKey: "isExecuting")
             self.isExecuting = true

    }
    
    private var _finished : Bool = false
    override var isFinished : Bool {
        get { return _finished }
        set {
            guard _finished != newValue else { return }

        }
    }
    
    override open func cancel() {
        super.cancel()
        self.networkTask?.cancel()
        
