Refatorar dbHandler e transações
O código do DBHandler está cada vez mais difícil de tratar e é difícil ter certeza se as transações estão sendo criadas corretamente.
Verificar se é possível utilizar uma estrutura em camadas e organizadas por tipo de objeto.
Haveria pelo menos duas cadas. A camada superior são as funções públicas e formam uma interface de comunicação com o restante do programa. Esse conjunto deve ser o menor possível e ser formado por um inicio de transação, consultas simples e fim de trasação. A segunda camada contém consultas simples, sem se preucupar com tranações, apenas com as alterações.
Se as funções puderem ser agrupadas dessa forma, o código será mais simples de manter e também de adicionar novas consultas.