private void Configure() { lock (_syncRoot) { if (_configuration != null) { return; } var cfg = CreateConfiguration(); var keyboardEventHandler = cfg.KeyboardEventHandler ?? new BlockAllKeyInputEventHandler(); _configuration = cfg; _lifetimeSupervisor = cfg.LifetimeSupervisor; _lifetimeSupervisor.UseDispatcher(cfg.Dispatcher); _displaySupervisor = new NotificationsDisplaySupervisor( cfg.Dispatcher, cfg.PositionProvider, cfg.LifetimeSupervisor, cfg.DisplayOptions, keyboardEventHandler); } }