TIL this will *not* leak when running `setState` on an unmounted component.
Will only be "leaking" until the promise resolves. When the promise resolves, it will be garbage collected together with the component. (IFF nothing else is referencing the promise)