public Task Disconnect() { if (FW != null) { _changeFilterCancellationSource?.Cancel(); FW.Disconnect(); FW = null; FilterWheelInfo = DeviceInfo.CreateDefaultInstance <FilterWheelInfo>(); RaisePropertyChanged(nameof(FW)); BroadcastFilterWheelInfo(); Logger.Info("Disconnected Filter Wheel"); } return(Task.CompletedTask); }