private void SubscribeToPlanetoidDataValueChanges(PlanetoidData pData) { if (!_planetoidSubscriptions.ContainsKey(pData)) { _planetoidSubscriptions.Add(pData, new List<IDisposable>()); } var planetSubscriber = _planetoidSubscriptions[pData]; planetSubscriber.Add(pData.SubscribeToPropertyChanged<PlanetoidData, int>(pd => pd.Capacity, PlanetoidCapacityPropChangedHandler)); planetSubscriber.Add(pData.SubscribeToPropertyChanged<PlanetoidData, ResourceYield>(pd => pd.Resources, PlanetoidResourceYieldPropChangedHandler)); pData.intelCoverageChanged += PlanetoidIntelCoverageChangedEventHandler; }