private static function descriptionTrimmer(
        string $description,
        int $desciptionCharStart,
        int $descriptionLength
    ) {
        $remainder = $description;

        $firstLine = true;

        while (strlen($remainder) > 0)
        {
            $space = '';

            if ( ! $firstLine)
            {
                $space = str_repeat(' ', $desciptionCharStart);
            }

            if (($len = strlen($remainder)) > $descriptionLength)
            {
                if (
                    ($n = strrpos(
                        $remainder,
                        ' ',
                        $descriptionLength - $len
                    )) !== false
                ) {
                    $piece = substr($remainder, 0, $n);

                    # plus one to remove leading space
                    $remainder = substr($remainder, $n + 1);
                }
                else
                {
                    $piece = substr($remainder, 0, $descriptionLength);

                    $remainder = substr($remainder, $descriptionLength);
                }
            }
            else
            {
                $piece = $remainder;

                $remainder = '';
            }

            yield $space.$piece;

            $firstLine = false;
        }
    }