Cpp: Clarify ownership of provider classes