private void EditingAPuppet()
        {
            _editorEffector.SpUpdate();

            CreatePuppetToolbarArea();

            GUILayout.Space(singleLineHeight * 4);
            _scrollPos = GUILayout.BeginScrollView(_scrollPos, GUILayout.Height(position.height - singleLineHeight * 4));
            switch (_editorEffector.CurrentPuppetMode())
            {
            case PuppetEditorMode.PreventEyesBlinking:
                _layoutPreventEyesBlinking.Layout(position);
                break;

            case PuppetEditorMode.OtherOptions:
                _layoutOtherOptions.Layout(Repaint, position);
                break;

            // ReSharper disable once RedundantCaseLabel
            case PuppetEditorMode.ManipulateTrees:
            default:
                _layoutManipulateTrees.Layout(position);
                break;
            }
            GUILayout.EndScrollView();

            _editorEffector.ApplyModifiedProperties();
        }