Being consistent with the use of require_relative
Minor refactorings, using Maven as example, no defaults for type