Dynamically import the module so the dependencies for all the backends don't
need to be installed.
Better error handling.
Fix lint.
Update affected tests.