Improve code quality and documentation, prepare for Maven central release

Last chance to review what I intend to publish on Maven central