The interface should not be package protected. The idea is that one can swap out the current OperationService by a different one. That is the main reason I started the refactoring because I'm going to provide a different implementation that probably depends on the Java 7 ForkJoinPool and hopefully performs better.