In theory it isn’t something that can’t be done today. Keep your api’s separate from your implementation. In old school Java can make a Maven API module and maven implementation module. If you are more lazy, just add some Checkstyle constraints. And dependency injection isn’t new either.
My worry about the new Java module system is the huge amount of effort that has been put into it; which could have been used for other improvements. And the delay the new module system has caused; so all other features in Java 9 have been delayed. The question is how much the new module system is actually going to speed up day to day development of an engineer. So I’m not questioning if it is a useful addition, but is it really going to change the life of a Java engineer?