Some NSProgress work
Make sure we call back on the main thread