Do we know we're running in an environment with a looper? Is there a way to use getMainLooper to be sure we're scheduling the below in the right place? Or am I just being overly defensive in the face of all of the crashing foolishness (since I think we're guaranteed to be running on the ui thread by our callers?)