Use Rx pattern to invoke callbacks on the UI thread