Factor product scopes to allow simple scopes to be added from an extension

Fixes #2608