public function eachWord(\Closure $closure, bool $preserveSpaces = false) : Manipulator
    {
        $modifiedString = '';

        foreach (explode(' ', $this->string) as $word) {
            $modifiedString .= $closure($word);
            $modifiedString .= $preserveSpaces ? ' ' : '';
        }

        return new static(trim($modifiedString));
    }