Implementaçao do padrão State