make sure callbacks are sent on the main queue