update pom artifacts
re-purpose the ObjectFactory to avoid reflection where possible