rework api client

- make api more concise
- make methods better testable
- add unit tests
reformat pom.xml
watch y'all imports, bro