public void HandleEvent(Notify evt) { UhpPin pin; lock (_lock) { if (!pins.TryGetValue((string)evt.GetParameter(PIN_PARAM_NAME), out pin)) return; } object newValue = pin.type.ParseValue(evt.GetParameter(VALUE_PARAM_NAME).ToString()); if (PinChanged != null) PinChanged(pin, newValue); }