Product variantion

This should not be a public API, but should still be a method. The data should be injected into the template context of the `render` method of `product.product`