private void readyForTermination() {
        addKeyListener(new KeyAdapter() {
            @Override
            public void keyPressed(KeyEvent e) {
                currentState.processKeyPressed(e);
                int keyCode = e.getKeyCode();
                if (keyCode == KeyEvent.VK_ESCAPE
                        || keyCode == KeyEvent.VK_Q
                        || keyCode == KeyEvent.VK_END) {
                    logger.log(Level.INFO, "End key pressed. Key code: {0}", keyCode);
                    running = false;
                }
            }
            
            @Override
            public void keyReleased(KeyEvent e){
                    currentState.processKeyReleased(e);
            }
        });
    }