lib/java: modeling project structure after guice