The one thing I don't get from reading this is how much of this is just how it happens to work riqht now, and how much is how it ought to work. Does it really need to be this hairy, or is its current state a product of driver bugs and incomplete designs or implementations?