Como evitar código impossível de manter: repository, domínio e a armadilha app.post