clearly you'll be depressed if you ever come to look at OpenUSBDI. admittedly, their names aren't quite as elaborate, but it's a big interface to do nothing very much, partly because every action requires several types and three or four different callback functions, excluding the proxy functions (for when you don't want a callback). because you can't just call a function and have it return the value you wanted, you know. no, no no. you need to ask someone who promises to progress the action on your request and get back to you.