     }
     
     override func backspaceDown(_ sender: KeyboardKey) {
-        resetTimerIfNeeded()
+        switchAssessmentState()
         let keyEvent = BackspaceKeyEvent()
         keyEvent.downTime = CACurrentMediaTime()
         backspaceKeyEvent = keyEvent

        }
		
		self.autoCorrectionSelector.delegate = self
    }
    
    override func viewWillDisappear(_ animated: Bool) {

		return AutoCorrectionSelector(globalColors: type(of: self).globalColors, darkMode: false, solidColorMode: self.solidColorMode())
	}

    func switchAssessmentState() {
		
		if defaults.object(forKey: KeymochiKeyboardViewController.kLastOpenTime) == nil {
			defaults.set(Date(), forKey: KeymochiKeyboardViewController.kLastOpenTime)
		}
		
		let hasAssessedEmotion = defaults.bool(forKey: KeymochiKeyboardViewController.kHasAssessedEmotion)
		let lastOpenTimeInterval = -(defaults.object(forKey: KeymochiKeyboardViewController.kLastOpenTime) as! Date).timeIntervalSince(Date())
		let keepUsingTime = defaults.double(forKey: KeymochiKeyboardViewController.kKeepUsingTime)
		
		if lastOpenTimeInterval < lastOpenThreshold {
			defaults.set(keepUsingTime + lastOpenTimeInterval, forKey: KeymochiKeyboardViewController.kKeepUsingTime)
		} else {
			defaults.set(0.0, forKey: KeymochiKeyboardViewController.kKeepUsingTime)
		}
		
		if hasAssessedEmotion && lastOpenTimeInterval > lastOpenThreshold {
			defaults.set(false, forKey: KeymochiKeyboardViewController.kHasAssessedEmotion)
		} else if !hasAssessedEmotion && keepUsingTime > keepUsingThreshold {
			promptAssessmentSheet()
		}
		defaults.set(Date(), forKey: KeymochiKeyboardViewController.kLastOpenTime)
	}
	
	func promptAssessmentSheet() {
        assessmentSheet = PAMAssessmentSheet(frame: self.view.bounds, option: .intermediate)
        assessmentSheet.backgroundColor = UIColor.yellow
        assessmentSheet.delegate = self
