One toast, whole lifecycle

    A spinner while the promise is pending, then it morphs into the result and starts its dismiss timer.