Move data collection into a worker so it doesn't go to sleep