Differentiating applications of ClassSelector and ObjectSelector

Firstly, I don’t see ObjectSelector documented here: Parameter types — param v1.12.3

I would like some additional insights on creating trees of parameter subobjects such as described here: Using Param with Panel — Panel v0.14.3

I would like to create a rich environment of parameterized classes that reference other parameterized classes/objects as parameters. I’m struggling to understand when to use ObjectSelector and when to use ClassSelector.

I think what I’m trying to do is similar to how the Dict, Array, Series, and DataFrame are implemented as extensions of ClassSelector. It would be nice to see an example in the documentation on how to do this. Additionally a blurb in the docs about differentiating applications of ClassSelector and ObjectSelector would be very appreciated.

Thank you!

Basically, i’m curious about the general pattern of setting parameterized classes as parameters of other parameterized classes. And how this can be achieved using ObjectSelector vs ClassSelector.