private IDisposable RegisterDebugWindowHook(IWebView current, IWebView debugWebView) { var disp = _WebViewCommunication.Connect(current, debugWebView); var disp2 = _WebViewCommunication.Subscribe(debugWebView, "main:inject", _ => InjectBackend(current)); var disconnector = new DisposableAction(() => _WebViewCommunication.Disconnect(debugWebView)); return(new ComposedDisposable(disp, disp2, disconnector)); }