public PaletteEditorWindowPresenter(PaletteStoreRepository storeRepository, UPaletteEditorGUIState guiState,
                                            PaletteEditorWindow view)
        {
            _guiState = guiState;

            _guiState.ActivePaletteType
            .Subscribe(view.SetActiveContentView)
            .DisposeWith(_disposables);

            view.SetActiveContentView(_guiState.ActivePaletteType.Value);

            storeRepository.Store.Subscribe(x =>
            {
                if (x == null)
                {
                    SetupEmptyView(view);
                }
                else
                {
                    SetupContentsView(x, view);
                }
            }).DisposeWith(_disposables);
        }