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

            didChangeValue(forKey: "isFinished")
        }
    }


    //MARK: Callbacks
    public var didFinishWithErrorCallback : ((_ error: Error?) -> Void)?
    public var didFinishSuccessfullyCallback : ((_ responseObject: AnyObject?) -> Void)?

    //MARK: Overriden Methods
    override func start() {
        DispatchQueue.main.async {
            self.willChangeValue(forKey: "isExecuting")
            self.isExecuting = true


import Foundation

open class OnebyteNetworkOperationBase: Operation{
    //MARK: Instance Variables
    var networkTask : URLSessionDataTask?
    
    //MARK: States
    private var _executing : Bool = false
    override open var isExecuting : Bool {
        get { return _executing }
        set {
            guard _executing != newValue else { return }
