Yeah, that's basically correct. It confused me a lot at first too, but I think it's gotten clearer as I've gotten used to it. The main thing that can be confusing is that the argument to `then()` returns synchronously, so if you need to do another async thing, you need to create a new `Promise` inside the `then`.