Add ability for color loop to be run in a separate thread