Qual é a diferença entre "Game", "Screen" e "ApplicationAdapter" no libgdx?

Nos tutoriais, às vezes as pessoas usam "estende o jogo", às vezes "implementam a tela" e eu gero automaticamente "estende o ApplicationAdapter". Qual a diferença entre eles?