let handle = win.ns_window().unwrap() as *mut objc2_app_kit::NSWindow;
let handle = objc2::rc::Retained::retain(handle).unwrap();
let nc = NSNotificationCenter::defaultCenter();
let invalidationToken = nc.addObserverForName_object_queue_usingBlock(
Some(NSWindowDidBecomeKeyNotification),
Some(handle.deref()),
None,
&RcBlock::new(|notification| {
// Handle window becoming key
tracing::info!("Window became key");
}),
);
Basically it's impossible to store invalidationToken anywhere