Refactoring infrastructure and tests
Split config file of IoC container into several
Merge branch 'refactoring_infrastructure'
Reformat code and optimize imports
Merge branch 'reformat'