This fixes #7591 and fixes #8278.  I added a test for getDrivers, and fixed a problem with setExtra().