Motivation behind VizImpl
Just noticed that, in the viz module, the implementation of the functions of the Viz3d class is not realized inside the class. Instead, it is implemented in a VizImpl struct which itself is a private member of the Viz3d class.
So whenever an Viz3d function is called, that dummy Viz3d function calls the real VizImpl function instead.
I'm just purely curious about the initial consideration of implementing it this way. Thank you!