What's the rationale for letting the promise update the label? Should be either set on `add` or here, not both.