This looks good to me.
The extensions field is a good idea.
I also believe that after adding an extensions field it would be easier to document this.
Do you think that it might be possible to list these extension packages somehow, or even stop them being directly installable, noting to use the extensions field in your service definition? Would that make sense?