refactor the way spots are downloaded to be thread-safe. The number of threads that were being used before was causing undefined behavior
- roll all the getSpots into one background thread, the way it should have been