This is basically duplicating the functionality of sys.modules - my approach would be to move the drivers into a haas.drivers subpackage, and then instead of using `active_switches_table[foo]`, you can use `sys.modules['haas.drivers.' + foo]`. This way we don't have to add anything here when we write a new driver.