In DeviceBase.h, all the protected member functions like OnStagePositionChanged() are in CDeviceBase.
Instead, OnStagePositionChanged() should be in CStageBase, OnExposureChanged() should be in CCameraBase, etc.
Only the generic ones (OnPropertyChanged(), OnPropertiesChanged()) should be in CDeviceBase.
Not yet sure if any device adapters would break.