Split backend into modules
Split backend tests into modules
Merge branch 'feature/issue-14-split-backend-modules' into develop