Work on arguments builder and abstract builder implementation. Moved classes out of common package because IntelliJ was compaining, may move them back