                     let mySelf = Unmanaged<KeyEvent>.fromOpaque(observer).takeUnretainedValue()
                     return mySelf.eventCallback(proxy: proxy, type: type, event: event)
                 }
-                return Unmanaged.passRetained(event)
+                return Unmanaged.passUnretained(event)
             },
             userInfo: observer
             ) else {

        
        self.keyCode = nil
        
        return Unmanaged.passRetained(event)
    }
    
    func mediaKeyDown(_ mediaKeyEvent: MediaKeyEvent) -> Unmanaged<CGEvent>? {

            return nil
        }
        
        return Unmanaged.passUnretained(mediaKeyEvent.event)
    }
    
    func getConvertedEvent(_ event: CGEvent, keyCode: CGKeyCode? = nil, keyDown: Bool = false) -> CGEvent? {
