This structure and how detection/recognition happens is not always obvious.
Also there are possible challenges when "rehydrating" a package plain data to a Package object.
We would need a doc and some refactoring as having several package manifests extensions for a single Package subclass makes things complicated.
Some redesign needed too in light of tracking package instances vs. manifests.