Working refactor of Adaptor/Driver base classes