Rewrite this region a bit.
Fix BadAccess errors.
Fix segfaults when trying to use a nonexistent driver.