 
 open class AZButton: UIButton{
     
+    // MARK: Public
     public var loader: Bool = false
     
+    // MARK: Private
+    fileprivate var loaderStatus: Bool = false {
+        didSet{
+            self.resetFrameLoaderMask()
+        }
+    }
     fileprivate var loaderMask: UIView = UIView()
     
     override open var frame: CGRect {

        self.frame = self.loaderMask.frame
        self.loaderMask.superview?.addSubview(self)
        self.loaderMask.removeFromSuperview()
        
        // todo: get animation loader view and then process on the view
        self.animationLoader(width: width, center: center, view: self)
        self.resetFrameLoaderMask()
    }
    
    fileprivate func animationLoader(width: CGFloat, center: CGFloat, view: UIView? = nil){

        
        self.addTarget(self, action: #selector(self.tapButton), for: .touchUpInside)
    }

}

extension AZButton {
