Arduino Mega with HoodLoader - Modify HID descriptor after it's sent?

Right now I'm making the 16u2 wait for the info it needs from the Mega at boot before it sends the descriptor, then making the 16u2 jump to 0 to 'reboot' it afterwards.

Is it possible to modify the USB HID descriptor after it's initially sent without rebooting the 16u2? Also, for my own edification, is there any proper way to reboot the 16u2 from code? I tried setting a watchdog then never checking on it, but that didn't seem to have any effect. I don't want to wire to the reset pin since that would reset the 2560 as well.