@validStates([State.Active])
  @transitionToState(State.Done)
  async *succeed({ result, message }: Options.Succeed = {}) {
    yield this.emit<Events.Succeed>({
      type: "succeed",