As an example of why this is needed: imagine we have released many DL3 products over a year, and after 6 months, we have created a new background model. We might not want to re-generate all DL3 products and re-release them, but rather just provide the new model for each observation. Then how would the user tell e.g. gammapy to use the new BKG IRFs and not the ones inside the observation DL3 files?