private void PropertyChangedHandler(object sender, PropertyChangedEventArgs e) { if (sender == null) { return; } //fire signal according to the property that got changed var type = sender.GetType(); if (TypeInfos.TryGetValue(type, out var typeInfo)) { var signalName = typeInfo.GetPropertySignalName(e.PropertyName); if (signalName != null) { sender.ActivateSignal(signalName); } } }