@Override
    public void mouseClicked(MouseEvent e) 
    {
        Component clicked = e.getComponent();
        if (clicked.isEnabled())
        {
            if (clicked.equals(this.play))
            {
                if (loadInstrument())
                {
                    setRunningState(true);
                    this.sequence.setIsLearningMode(true);
                    this.railBoard.getController().setIsLearningMode(true);
                    this.railBoard.getRail().showLine(true);
                    this.sequence.reproduce();
                    this.isReproducing = true;
                }
            }
            else if (clicked.equals(this.stop))
            {
                if (unloadInstrument())
                {
                    setRunningState(false);
                    if (this.isReproducing)
                    {
                        this.sequence.stop();
                        this.railBoard.getRail().showLine(false);
                        this.isReproducing = false;
                    }
                    this.railBoard.clear();
                }
            }
            else if (clicked.equals(this.loadSecuenceButton))
            {
                this.sequence = VFileManager.instance.readSequence();
                loadSequence();
            }
        }
    }