     case messageWithIndicator
     case messageWithIndicatorAndCancelButton
     case progress
+    case progressWithCancelButton
 }
 
 public enum ALLVWindowMode {

    }
    
    public func updateMessageLabel(withText message: String) {
        assert(loadingViewType == .message ||
            loadingViewType == .messageWithIndicator ||
            loadingViewType == .messageWithIndicatorAndCancelButton, "ALLoadingView Update Error. Set .Message, .MessageWithIndicator and .MessageWithIndicatorAndCancelButton type to access message label.")
        
        DispatchQueue.main.async {
            self.progress_updateProgressControls(withData: ["message": message])

            break
        case .progress:
            updateProgressLoadingView(withMessage: messageText, forProgress: 0.0)
            break
        case .progressWithCancelButton:
            updateProgressLoadingView(withMessage: messageText, forProgress: 0.0)
            
            for view in subviews {
                if view is UIButton {
                    (view as! UIButton).setTitle("Cancel", for: UIControlState())
                    (view as! UIButton).addTarget(self, action: #selector(ALLoadingView.cancelButtonTapped(_:)), for: .touchUpInside)
                }
            }
            break
        default:
            break
