cache result in a file or java.util.prefs.Preferences (store both path & timestamp of jar)
- better fluent API
- ServiceScanner
- support for protected/private services
- more flexible resolvers
- constructors with arguments
- factory methods
- builder methods
- support for priority (annotation?)
- support for runtime conditionals/configuration
- using another annotations
- using builder methods
- PackageScanner: application mode
- detect JAR by extracting classpath from
- PackageScanner.class
- passed user class
- detected caller classes
- scan whole JAR, not only specified root packages
- cache result in a file or `java.util.prefs.Preferences` (store both path & timestamp of jar)
java.util.prefs.Preferences(store both path & timestamp of jar)