public function emit($value = null): \Generator
    {
        if (null === $this->emit) {
            $this->emit = (yield $this->started);
        }

        $emit = $this->emit;
        return yield from $emit($value);
    }