void onNodeControlsChanged(Map<String, Widget> controls) { emit(state.copyWith(nodeControls: controls)); }