public function parse(callable $callback, int $width): string
    {
        $tokens = [];
        foreach ($this as $token) {
            $token->setLineWidth($width);
            $tokens[] = call_user_func($callback, $token);
        }

        return implode('', $tokens);
    }