Grande refatoramento realizado, javadoc reescrito (estava vergonhoso e cheio de erros)