private MouseAdapter createImageLabelListener (final ImageLabel label) {
        MouseAdapter listener = new MouseAdapter() {
            boolean selected = false;

            @Override
            public void mouseClicked (MouseEvent e) {
                selected = !selected;
                if (GameAuthoringGUI.myImageLabel == null && selected) {
                    GameAuthoringGUI.myImageLabel = label;
                    GameAuthoringGUI.setCursor(label.getImageFile());
                }
                if (GameAuthoringGUI.myImageLabel != null && isMutable && selected) {
                    label.transferLabelInformation(GameAuthoringGUI.myImageLabel);
                    GameAuthoringGUI.setCursorDefault();
                }
                if (!selected) {
                    GameAuthoringGUI.setCursorDefault();
                    GameAuthoringGUI.myImageLabel = null;
                }
            }
        };
        return listener;
    }