use descriptors to make certain attrs of baseclasses invisbile to subclasses