Callback now processed in a separate thread