public SubscribableHandler(DependencyManager manager, ISubscribable instance) { Manager = manager; manager.StronglyReference(this); Instance = new WeakReference <ISubscribable>(instance); InstanceType = instance.GetType(); InstanceTypeInfo = InstanceType.GetTypeInfo(); foreach (var dependency in manager.GetRegistrations(instance.GetSubscribableType())) { switch (dependency.Key) { case PropertyDependency propertyDependency: var name = propertyDependency.PropertyName; foreach (var str in dependency.Value) { PropertyDependencies.SafeAddToDictionaryOfList(str, name); } break; } } CachePropertyPath("", instance); }