Tons of changes to split API and use parent pom