         viewController.present(vc, animated: true, completion: nil)
     }
     
+    public class func showActionAlert(alert: WizardActionAlert, title: String, message: String, viewController: UIViewController, completion: (() -> Void)?) {
+        var actionAlert = alert
+        actionAlert.titleLabel.text  = title
+        actionAlert.contentLabel.text = message
+        
+        let vc = UIStoryboard(name: "Wizard", bundle: kWizardBundle).instantiateViewController(withIdentifier: "ActionAlertViewController") as! ActionAlertViewController
+        vc.actionAlert = actionAlert
+        vc.modalPresentationStyle = .overCurrentContext
+        vc.modalTransitionStyle   = .crossDissolve
+        
+        vc.didCancel = {
+            viewController.dismiss(animated: true, completion: nil)
+        }
+        
+        vc.didConfirmAction = {
+            viewController.dismiss(animated: true, completion: nil)
+            if completion != nil {
+                completion!()
+            }
+        }
+        viewController.present(vc, animated: true, completion: nil)
+    }
+    
+    public func showActionAlert(message: String, actionStyle: AlertAction, viewController: UIViewController, completion: (() -> Void)?) {
+        var actionAlert = self.actionAlert
+        actionAlert.contentLabel.text = message
+        
+        switch actionStyle {
+        case .save:
+            actionAlert.titleLabel.text               = "Save"
+            actionAlert.actionButton?.backgroundColor = UIColor.WizardGreenColor()
+            actionAlert.actionButton?.text            = "Save"
+        case .add:
+            actionAlert.titleLabel.text               = "Add"
+            actionAlert.actionButton?.backgroundColor = UIColor.WizardGreenColor()
+            actionAlert.actionButton?.text            = "Add"
+        case .download:
+            actionAlert.titleLabel.text               = "Download"
+            actionAlert.actionButton?.backgroundColor = UIColor.WizardGreenColor()
+            actionAlert.actionButton?.text            = "Download"
+        case .overwrite:
+            actionAlert.titleLabel.text               = "Overwrite"
+            actionAlert.actionButton?.backgroundColor = UIColor.WizardRedColor()
+            actionAlert.actionButton?.text            = "Overwrite"
+        case .delete:
+            actionAlert.titleLabel.text               = "Delete"
+            actionAlert.actionButton?.backgroundColor = UIColor.WizardRedColor()
+            actionAlert.actionButton?.text            = "Delete"
+        }
+        
+        let vc = UIStoryboard(name: "Wizard", bundle: kWizardBundle).instantiateViewController(withIdentifier: "ActionAlertViewController") as! ActionAlertViewController
+        
+        vc.actionAlert = actionAlert
+        vc.modalPresentationStyle = .overCurrentContext
+        vc.modalTransitionStyle   = .crossDissolve
+        
+        vc.didCancel = {
+            viewController.dismiss(animated: true, completion: nil)
+        }
+        
+        vc.didConfirmAction = {
+            viewController.dismiss(animated: true, completion: nil)
+            if completion != nil {
+                completion!()
+            }
+        }
+        viewController.present(vc, animated: true, completion: nil)
+    }
+    
     public func showActionAlert(withTitle title: String, message: String, viewController: UIViewController, completion: (() -> Void)?) {
         var actionAlert = self.actionAlert
         actionAlert.titleLabel.text  = title

        self.indicator        = indicator
    }
    
    public func showStatusAlert(withStatus status: AlertStatus, title: String, message: String, viewController: UIViewController, completion: (() -> Void)?) {
        
        var statusOptions: WizardStatus!

            
            viewController.present(vc, animated: true, completion: nil)
        }
    }
    
    public func showNamePicker(title: String, stringsForComponents:[[String]], selectedStringsForComponents:[String] = [], viewController: UIViewController, completion: @escaping ((([String], [Int]))-> Void)) {
        
        if isNamePickerValid(stringsForComponents: stringsForComponents, selectedStringsForComponents: selectedStringsForComponents) {
            var namePicker = self.namePicker
            namePicker.titleLabel.text = title
            
            let vc = UIStoryboard(name: "Wizard", bundle: kWizardBundle).instantiateViewController(withIdentifier: "NamePickerViewController") as! NamePickerViewController
            vc.stringsForComponents         = stringsForComponents
            vc.selectedStringsForComponents = selectedStringsForComponents
            vc.namePicker                   = namePicker
            vc.modalPresentationStyle       = .overCurrentContext
            vc.modalTransitionStyle         = .crossDissolve
            
            vc.didPick = { (strings, indices) in
                viewController.dismiss(animated: true, completion: nil)
                completion((strings, indices))
            }
            
            vc.didCancel = {
                viewController.dismiss(animated: true, completion: nil)
            }
            
            viewController.present(vc, animated: true, completion: nil)
        }
    }
    
    public class func showDatePicker(picker: WizardDatePickerAlert,title: String, datePickerMode: UIDatePickerMode, viewController: UIViewController, completion: @escaping (Date) -> ()) {
        var datePicker = picker
        datePicker.titleLabel.text = title
        datePicker.picker.mode = datePickerMode
        
        let vc = UIStoryboard(name: "Wizard", bundle: kWizardBundle).instantiateViewController(withIdentifier: "DatePickerViewController") as! DatePickerViewController
        
        vc.datePicker             = datePicker
        vc.modalPresentationStyle = .overCurrentContext
        vc.modalTransitionStyle   = .crossDissolve
        
        vc.didPick = { selectedDate in
            viewController.dismiss(animated: true, completion: nil)
            completion(selectedDate)
        }
        
        vc.didCancel = {
            viewController.dismiss(animated: true, completion: nil)
        }
        
        viewController.present(vc, animated: true, completion: nil)
    }
    
    public func showDatePicker(title: String, datePickerMode: UIDatePickerMode, viewController: UIViewController, completion: @escaping (Date) -> ()) {
