this seems a bit weird to me because you are passing in a new secret parameter. It feels like this call should be ``self.generic_product_create()`` since all providers will need to call it.