If we move away from the singleton and use composition we can do something more like this...

```objc
VPLPromotionsManager *pm = [[VPLPromotionsManager alloc] initWithPromotions;@[..]];

pm.triggerType = VPLTriggerTypeOnce;
pm.refreshInterval = 60;
pm.locationFetchServer = [MyService new];
pm.shouldRequestGPSAccess = NO; // defaults to YES, will initialize if there are any promotions that require a location manager provided it's not set manually to NO

[pm startMonitoringForPromotions];
```