Ao assistir a aula fiquei me perguntando se não seria mais vantajoso utilizar uma classe enumerada em vez do padrão State. Do meu ponto de vista, o state era uma alternativa viável antes de existir as classes enumeradas. Isso faz algum sentido ou tem alguma grande diferença que não estou enxergando?