
Separate the 4 driver interfaces into abstract interface classes, and also add an abstract driver class. Make the existing driver implementations inherit from these as appropriate. This should help clearly express which methods a given driver needs to implement. Change-Id: I918d35eced7b0581a65d53d2ebcd7124f3b3f0a6