AppendCustomGeometry <-> AppendCustomGeometry

I have a component that inherits GH_CustomPreviewComponent, in Rhino7, we could define override AppendRenderGeometry to change the render behaviour. in Rhino8, this is deprecated.

Looking at the new implementation of GH_CustomPreviewComponent, it uses IGH_CustomPreviewObject and AppendCustomGeometry, but these are internal and private respectively. How do we do custom rendering in Rhino 8 GH components?