         cell.isUserInteractionEnabled = activity.isStartable
         cell.titleLabel?.text = activity.description
         cell.detailLabel?.text = activity.isStartable ? "" : activity.timeRemainingString
+        cell.statusButton.titleLabel?.text = ""
         cell.icon.image = UIImage(named: activity.type.iconName)
         
         if let cellState = activity.stateMachine.currentState as? ActivityState {

                if resultExists {
                    if isUploaded {
                        activity.stateMachine.enter(UploadCompleteState.self)
                        self.tableView.reloadRows(at: [IndexPath(row: i, section: 0)], with: .none)
                    } else {
                        uploadResultsOf(activity: activity, forRow: i)
                    }

                    if activity.timeRemaining <= 0 {
                        if service.isParticipantGroupAssigned {
                            activity.stateMachine.enter(DataAvailableState.self)
                            rowsToReload.append(IndexPath(row: i, section: 0))
                        } else {
                            loadRemoteSettingsFor(activity: activity, forRow: i)
                        }
                    } else {
                        activity.stateMachine.enter(TimeRemainingState.self)
                        rowsToReload.append(IndexPath(row: i, section: 0))
                    }
                }
            case .survey:
                if service.remoteDataService.isSurveyResultUploaded {
                    activity.stateMachine.enter(UploadCompleteState.self)
                    rowsToReload.append(IndexPath(row: i, section: 0))
                } else if service.surveyService.preferredLayout != nil {
                    uploadResultsOf(activity: activity, forRow: i)
                } else if activity.isAllSearchTasksComplete {
                    activity.stateMachine.enter(DataAvailableState.self)
                    rowsToReload.append(IndexPath(row: i, section: 0))
                } else {
                    activity.stateMachine.enter(TimeRemainingState.self)
                    rowsToReload.append(IndexPath(row: i, section: 0))
                }
            case .reward:
                if service.remoteDataService.isParticipantsEmailUploaded {
                    activity.stateMachine.enter(UploadCompleteState.self)
                    rowsToReload.append(IndexPath(row: i, section: 0))
                } else if service.rewardService.participantEmail != nil {
                    uploadResultsOf(activity: activity, forRow: i)
                } else if activity.isStudyCompleted {
                    activity.stateMachine.enter(DataAvailableState.self)
                    rowsToReload.append(IndexPath(row: i, section: 0))
                } else {
                    activity.stateMachine.enter(TimeRemainingState.self)
                    rowsToReload.append(IndexPath(row: i, section: 0))
                }
            }
        }
        
        self.tableView.reloadRows(at: rowsToReload, with: .none)
    }
    
    func loadRemoteSettingsFor(activity: StudyActivity, forRow row: Int) {
