 // must coexist, so it was renamed. The old name must not be used in the
 // new runtime.
 @objc private class __KVOKeyPathBridgeMachinery : NSObject {
-    @nonobjc static var keyPathTable: [String : AnyKeyPath] = {
+    @nonobjc static var swizzler: ()? = {
         /*
          Move all our methods into place. We want the following:
          __KVOKeyPathBridgeMachinery's automaticallyNotifiesObserversForKey:, and keyPathsForValuesAffectingValueForKey: methods replaces NSObject's versions of them

        let rootMethod = class_getClassMethod(rootClass, selector)!
        method_exchangeImplementations(rootMethod, unswizzledMethod)
    }
    
    @nonobjc static var keyPathTableLock = NSLock()
    
    @nonobjc fileprivate static func _bridgeKeyPath(_ keyPath: __owned AnyKeyPath) -> String {
        guard let keyPathString = keyPath._kvcKeyPathString else { fatalError("Could not extract a String from KeyPath \(keyPath)") }
        __KVOKeyPathBridgeMachinery.keyPathTableLock.lock()
        defer { __KVOKeyPathBridgeMachinery.keyPathTableLock.unlock() }
        __KVOKeyPathBridgeMachinery.keyPathTable[keyPathString] = keyPath
        return keyPathString
    }
    
    @nonobjc fileprivate static func _bridgeKeyPath(_ keyPath:String?) -> AnyKeyPath? {
        guard let keyPath = keyPath else { return nil }
        __KVOKeyPathBridgeMachinery.keyPathTableLock.lock()
        defer { __KVOKeyPathBridgeMachinery.keyPathTableLock.unlock() }
        let path = __KVOKeyPathBridgeMachinery.keyPathTable[keyPath]
        return path
    }
    
    @objc override class func automaticallyNotifiesObservers(forKey key: String) -> Bool {

}

func _bridgeKeyPathToString(_ keyPath:AnyKeyPath) -> String {
    guard let keyPathString = keyPath._kvcKeyPathString else { fatalError("Could not extract a String from KeyPath \(keyPath)") }
    return keyPathString
}

// NOTE: older overlays called this NSKeyValueObservation. We now use
