         
         engine.dataRefreshed.uiReact { [weak self] _ in
             self?.tableView.reloadData()
+        }
+        
+        tableView.reactive.isUserInteractionEnabled <~ engine.isSubmitting.map {!$0}
+        
+        engine.isSubmitting.uiReact { submitting in
+            if submitting {
+                HUD.show(.progress)
+            } else {
+                HUD.hide()
+            }
         }
     }
     

            return entries.filter { !$0.synced }
        }
        
        shouldEnableSubmit <~ unsyncedEntries.map { $0.count > 0 }
        
        submitAction = StudySubmitAction(enabledIf: shouldEnableSubmit, StudyEngine.submitActionProducer)
        

import UIKit
import ReactiveSwift
import RealmSwift
import PKHUD

fileprivate typealias StudySubmitAction = Action<[StudyEntry], [SignalProducer<Response,FetchError>], FetchError>
fileprivate typealias SubmitStarter = ActionStarter<[StudyEntry], [SignalProducer<Response, FetchError>], FetchError>
