Global refactoring as part of the Magento code review:
-- Removed _initialize() methods from constructors.
-- Minimized the use of helpers.
-- Broke down large classes into smaller ones & separated some business logics to dedicated classes.
-- Separated jobs into some new models which can be used wherever needed (e.g.: console commands/ cronjobs).
Added logics to the setup script in order to reset default/website scope configurations on older version of the module.