Avoid having one widget call the other widget with the sku price. It was
complicating the entire code base. Also, create a new class
PurchaseManager which is a singleton and will be used to manage all
purchases from now on.
The earlier approach of having the code in a widget would sometimes
result in purchases not being confirmed. I'm hoping that putting the
class in a singleton will help.
The iOS updates keep getting rejected, and I think it's because
RevenueCat is taking too long to respond. Additionally, revenueCat
doesn't really give us anything useful as its receipt validation isn't
perfect, and I've had to roll my own.
Plus from a privacy point of view, this is better as we are no longer
talking to any third party service.
This has so far only been tested on iOS