private void OnResolved(object o, ServiceResolvedEventArgs args)
        {
            if (_instances.All(x => x.Name != args.Service.Name))
            {
                _instances.Add(new ProPresenterInstance
                {
                    Name = args.Service.Name,
                    Port = ((ushort)args.Service.Port).ToString(),
                    Ip   = args.Service.HostEntry.AddressList[0].ToString(),
                });

                OnProPresenterInstancesChanged?.Invoke(this, new ProPresenterInstancesChangedEventArgs {
                    Instances = _instances.ToList()
                });
            }
        }
        private async void OnServiceRemoved(object o, ServiceBrowseEventArgs args)
        {
            var name = args.Service.Name;

            var instance = _instances.FirstOrDefault(x => x.Name == name);

            if (instance != null)
            {
                _instances.Remove(instance);

                if (Connected && ConnectedInstance == instance.Name)
                {
                    StopListen();
                    await Close();

                    ConnectedInstance = null;
                }

                OnProPresenterInstancesChanged?.Invoke(this, new ProPresenterInstancesChangedEventArgs {
                    Instances = _instances.ToList()
                });
            }
        }