     }
 
     public func endRecording() {
-        if !recording { return }
+        if !isRecording { return }
 
         inputModifiers = NSEvent.ModifierFlags(rawValue: 0)
         doubleTapModifier = NSEvent.ModifierFlags(rawValue: 0)
         multiModifiers = false
 
         willChangeValue(forKey: "recording")
-        recording = false
+        isRecording = false
         didChangeValue(forKey: "recording")
 
         updateTrackingAreas()

                }
            }
            return false
        } else if recording && KeyTransformer.containsFunctionKey(keyCodeInt) {
            if let keyCombo = KeyCombo(keyCode: keyCodeInt, carbonModifiers: 0) {
                if delegate?.recordView(self, canRecordKeyCombo: keyCombo) ?? true {
                    self.keyCombo = keyCombo

        if window?.firstResponder != self { return false }

        let keyCodeInt = Int(theEvent.keyCode)
        if isRecording && validateModifiers(inputModifiers) {
            let modifiers = KeyTransformer.carbonFlags(from: theEvent.modifierFlags)
            if let keyCombo = KeyCombo(keyCode: keyCodeInt, carbonModifiers: modifiers) {
                if delegate?.recordView(self, canRecordKeyCombo: keyCombo) ?? true {
