@Override
    public void step(Graphics2D graphics) {
        if (data == null) {
            titleOffset = screen.getXOffset(graphics, bigFont, title);
            getData(graphics);
        }

        graphics.setColor(Color.WHITE);
        for (Star star : stars) {
            star.update();
            star.draw(graphics);
        }
        graphics.setColor(Color.GRAY);
        graphics.setFont(bigFont);
        graphics.drawString(title, titleOffset, screen.getHeight() / 2 - 250);
        graphics.setFont(smallFont);
        graphics.drawString(header, dataOffset, screen.getHeight() / 2 - 190);
        graphics.setColor(Color.WHITE);
        int i = 1;
        for (String datum : data) {
            if (i == highlightIndex)
                graphics.setColor(Color.YELLOW);
            graphics.drawString(datum, dataOffset, screen.getHeight() / 2 - 190 + 20 * i);
            if (i == highlightIndex)
                graphics.setColor(Color.WHITE);
            i++;
        }
        button.draw(graphics);
    }