Move listener call to UI thread