Modified pom.xml for staging to central
Refactored to split public API from implementation