NavigationOption(StagePanel stagePanel) {
            this.stagePanel = stagePanel;
            this.setText(stagePanel.getStageName());
            this.setEditable(false);
            this.setLineWrap(true);
            this.setWrapStyleWord(true);
            this.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 15));
            this.setBorder(new EmptyBorder(4, 4, 4, 4));
            this.setBackground(new Color(0, 0, 0, 0));
            this.addMouseListener(new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                    if (e.getSource() == null) {
                        return;
                    }
                    NavigationOption option = (NavigationOption) e.getSource();
                    StagePanel stagePanel = (StagePanel) stagesMap.get(e.getSource());
                    int optionIndex = (int) stageNumber.get(option);
                    if (test == false) {
                        if (optionIndex <= lastUnlocked) {
                            reciever.receivePanel(stagePanel, null);
                            setVideoPanel(optionIndex);
                        }
                    } else {
                        reciever.receivePanel(stagePanel, null);
                        setVideoPanel(optionIndex);
                    }
                }

                @Override
                public void mouseEntered(MouseEvent e) {

                    if (SwingUtilities.isEventDispatchThread()) {
                        if (e.getSource() instanceof JTextArea) {
                            NavigationOption option = (NavigationOption) e.getSource();
                            option.setBackgroundColor(option.getBackgroundColor().darker());
                            option.repaint();
                        } else {
                            System.err.println("NavigationPanel.MouseEntered : source of event is not a JTextArea");
                        }
                    }
                }

                @Override
                public void mouseExited(MouseEvent e) {
                    if (SwingUtilities.isEventDispatchThread()) {
                        if (e.getSource() instanceof JTextArea) {
                            NavigationOption option = (NavigationOption) e.getSource();
                            option.setBackgroundColor(option.getBackgroundColor().brighter());
                            option.repaint();
                        } else {
                            System.err.println("NavigationPanel.MouseExited : source of event is not a JTextArea");
                        }
                    }
                }
            });
        }