If we reject then the app doesn't work essentially - the deferred is always resolved after one of these functions runs.

I was setting the region to a default previously so that things will at least continue to work. Maybe the user's apps need to be set to empty lists but using what was cached before is probably best.