Currently most classes use member variables, this causes issues BIC wise. In KF6 we should use a proper d-ptr.
Also it is IMHO debatable if we even need to export some classes, I specifically have the cache in mind. And do we really need to have the models as exported classes?[] Use `_p.h` name prefix for internal headers
[] Unexport internal classes
[] Use d-ptr for all exported classes