DisplayPipeline.DrawBrepShaded Method in ghpy

Is there a clean way to implement the DisplayPipeline.DrawBrepShaded Method in ghpy?
If so what is the proper workflow to ensure that a component can keep track of all the Display.Add… Geometry.

image
I also noticed if you just pass a material through a ghpy component DisplayMaterial becomes Rhino.Display.DisplayMaterial and stops being recognized as a shader. I am probably unaware of the inner architecture handling the shaders, so if you can offer some reference to understand shaders I would appreciate.

a = x

I also noticed that possibly I could call the CustomPreview Component from within my ghscript to internally display rendered geometry. However I am getting the following errors;

import Rhino as rc
import ghpythonlib.components as ghcomp

geo = "some brep geo"
color = rc.Display.ColorHSL(0.1,1.0,0.5)
ghcomp.CustomPreview(geo, color)

gives the following errors;
Custom Preview: input 2 material. error: Data conversion failed from Goo to Shader
Custom Preview: solver component. error: Data conversion failed from Goo to Shader