UI thread sync mechanism