Refactor ShapeFactory to better support creation of dynamic factories (i.e. created programmatically).
Add maven-source-plugin version information.