On Unix, symbols are public unless specified otherwise (with anonymous namespace or static signature modifier).
When used as a library, the symbols defined by AtCore will likely collide with symbols with the same name in other libraries.
This change aims to make is less likely, by hiding the *Private classes inside their respective public interfaces.
For discussion: A propper solution would consist on moving all public classes to a well defined namespace, via C++ namespaces or via name prefix.
So Temperature would either be AtTemperature or atelier::Temperature, for instance.
This change should not affect any feature at all, unless the application code depends on such private symbols. What must not happen.