I guess merge it as is.  I don't love it being overly complicated, but the performance hit (it's also used by HID) is probably trivial.

P.s. deleting the rest of OSD in #577