private void OnHostLoadChanged(HostLoad hostLoad) {
Interlocked.Exchange(ref _hostLoad, hostLoad);
IsConnected = hostLoad != null;
var args = new HostLoadChangedEventArgs(hostLoad ?? new HostLoad());
Task.Run(() => HostLoadChanged?.Invoke(this, args)).DoNotWait();
}