setup + refactoring for creating maven plugin