Implementacao finalizada. Alguns testes foram realizados, porem falta
criar um sistema de assert e logs mais robusto para tentar garantir
ausencia de estados inconsistentes ou deadlocks.