split out the nasty usb code into a separate class (for bot3)
6 files changed