Maquina de estados da cast

Pessoal, adicionei a funcionalidade de maquinas de estado da cast baseado na gem STATESMAN, sugestões são bem vindas. =)
É no final do arquivo @wenderjean. É uma boa prática deixar sempre uma linha em branco no final do arquivo. =)