Refactored UsbClient to extend raw device. Cleaned up program code. Figured out that serial debugging blocks usb stream writes for some reason. Device now sends commands to windows successfully and i can recieve input from both devices in the composite device in windows.