This could get silly for some of the odd users with 100+ apps (don't ask me why they have that many!).

Probably need a ```ThreadPoolExecutor``` to keep the number down to a sensible amount (say 4/5 max, less on a slow connection).