public void SetState <TState>(string Key, TState Value) { TState oldState = GetState <TState>(Key); if (oldState != null && oldState.Equals(Value)) { return; } state[Key] = Value; if (connections.ContainsKey(Key)) { var keyConnections = connections[Key]; foreach (var keyConnection in keyConnections) { keyConnection(oldState, Value); } } if (uiRendererInstance != null) { uiRendererInstance.ForceUpdate(); } }