Make BundleVersionDetector disposable as a prototype (kept large cache Map)
Use Sets to collect SystemPackages: avoid thousands of List.contains calls.