Ola,
Seria possivel utilizar o principio de segregacao de interfaces para implementar a transicao de estados? Por exemplo se um estado aprovado nao pode ser aprovado ele nao deveria ter um metodo aprovado correto? Como poderiamos implementar mudanca de estado somente para estados possiveis?