async Task nm.IReshuffledCardsNM.ReshuffledCardsReceived(string data) { CustomBasicList <int> firstList = await js.DeserializeObjectAsync <CustomBasicList <int> >(data); if (_deckList.Count == 0) { _deckList.OrderedObjects(); //maybe this was needed. i think this is the best way to handle this situation. } DeckObservableDict <D> NewList = firstList.GetNewObjectListFromDeckList(_deckList); SaveRoot !.CardList = NewList.ToRegularDeckDict(); await AfterReshuffleAsync(); }