Refactoring structure to allow multiple jar outputs from build
Refactor to use multiple projects