     }
 
 }
+

    var alertMessage: String?
    var buttonText: String?
    var buttonColor: UIColor?
    var delegate: BlurAlertControllerDelegate?
    
    var shouldBlur = true

    func animateIn() {
        self.view.addSubview(alertBox)
        
        // Start the view invisible and at the top most of the VC
        alertBox.center.y = self.view.frame.minY // Start off at the top
        alertBox.alpha = 0.0
        
        let duration = animationDuration ?? 0.5
        
        UIView.animate(withDuration: duration, delay: 0.0, usingSpringWithDamping: 1.0, initialSpringVelocity: 30.0, options: .curveEaseInOut, animations: {
            if self.shouldBlur { self.visualEffectView.effect = self.effect }
            self.alertBox.center = self.view.center
            self.alertBox.alpha = 1.0
            
            }, completion: nil)
    }
    
    func animteOutAndDismiss() {
        let duration = animationDuration ?? 0.5
        // Animate the view out
        UIView.animate(withDuration: duration, animations: {
            if self.shouldBlur { self.visualEffectView.effect = nil }
            self.alertBox.transform = CGAffineTransform.init(scaleX: 1.1, y: 1.1)
            self.alertBox.alpha = 0
            self.alertBox.center.y = self.view.frame.maxY
            }) { _ in
