Varias alterações feitas, tentando usar reflect, novas classes e funcionalidades adicionadas