         case .basic:
             return [.activityIndicator]
         case .message:
-            return [.messagTextView]
+            return [.messageTextView]
         case .messageWithIndicator:
-            return [.messagTextView, .activityIndicator]
+            return [.messageTextView, .activityIndicator]
         case .messageWithIndicatorAndCancelButton:
             if self.loadingViewWindowMode == ALLVWindowMode.windowed {
-                return [.messagTextView, .activityIndicator, .cancelButton]
+                return [.messageTextView, .activityIndicator, .cancelButton]
             } else {
-                return [.messagTextView, .activityIndicator, .cancelButton]
+                return [.messageTextView, .activityIndicator, .cancelButton]
             }
         case .progress:
-            return [.messagTextView, .progressBar]
+            return [.messageTextView, .progressBar]
+        case .progressWithCancelButton:
+            return [.messageTextView, .progressBar, .cancelButton]
         }
     }
     

        guard self.loadingViewProgress == .loaded else {
            return
        }
        assert(loadingViewType == .progress, "ALLoadingView Update Error. Set ALLVType to 'Progress' to access progress bar.")
        
        DispatchQueue.main.async {
            self.progress_updateProgressControls(withData: ["message": message, "progress" : progress])

    case messageWithIndicator
    case messageWithIndicatorAndCancelButton
    case progress
    case progressWithCancelButton
}

public enum ALLVWindowMode {
