Add a new struct, MADDriverBase:
This was previously the "public" variables in MADDriverRec.
The function MADDriverGetBase returns a pointer to the base struct that is within MADDriverRec.