public void draw(Graphics graphics, FontDAO fontDAO, ImageDAO imageDAO, TextDAO textDAO, ApplicationState applicationState, Metronome metronome) throws Exception {
        graphics.setColor(0x00000000);
        graphics.fillRect(0, 0,width(), height());
        
        switch (applicationState.getState()) {
            case ApplicationState.SPLASH:
                drawSplash(graphics, fontDAO, imageDAO, textDAO);
                break;
            case ApplicationState.MAIN_MENU:
                drawMainMenu(graphics, fontDAO, imageDAO, textDAO);
                break;
            case ApplicationState.OPTIONS:
                drawOptions(graphics, fontDAO, imageDAO, textDAO, metronome);
                break;
            case ApplicationState.HELP:
                drawHelp(graphics, fontDAO, imageDAO, textDAO);
                break;
            case ApplicationState.ABOUT:
                drawAbout(graphics, fontDAO, imageDAO, textDAO);
                break;
            case ApplicationState.EXIT:
                drawExit(graphics, fontDAO, imageDAO, textDAO);
                break;
            case ApplicationState.METRONOME_STARTED:
                drawMetronomeStarted(graphics, fontDAO, imageDAO, textDAO, metronome);
                break;
            case ApplicationState.METRONOME_STOPPED:
                drawMetronomeCore(graphics, fontDAO, imageDAO, textDAO, metronome);
                break;
 

        }





    }