Designing for Modularity with Java 9