Really big refactor (not tested yet)
- Code clean up
- Making the test runner engines used as a service
- Making blockers to be used as a service
- Creating internal packages