Some restructuring on the way to supporting BT and USB