Storing customization and styling of Panel widget as a Parameterized Object

You can declare custom object as an example of Declare Custom Widgets — Panel v1.4.4
Are there way to just modify the Param objects as a Panel objects without having to do

class CustomExample(param.Parameterized):
    """An example Parameterized class"""

    select_string = param.Selector(objects=["red", "yellow", "green"])
    autocomplete_string = param.Selector(default='', objects=["red", "yellow", "green"], check_on_set=False)
    select_number = param.Selector(objects=[0, 1, 10, 100])

# Can we somehow put the below code in the object itself?
pn.Param(CustomExample.param, widgets={
    'select_string': pn.widgets.RadioButtonGroup,
    'autocomplete_string': pn.widgets.AutocompleteInput,
    'select_number': pn.widgets.DiscretePlayer}
)

I decided to go for a look of more way to organize the code, and I currently organize my code based on this

I also create 2 objects if I want to use Panel widget as the UI. For example:

class CustomExample(param.Parameterized):
    """An example Parameterized class"""

    datetime = param.Date()
    
    def __init__():
         datetime_ui = pn.widgets.DatetimePicker #Panel equivalent of the datetime widget
         datetime = datetime_ui .value #You can do watch, callback or bind.

Hope this help