Nova versão revisada

Nova versão revisada. Agora usando melhores elementos de OO.
Executar pelo index dentro da pasta app.