def METHOD_NAME(parent,widget_name,params):
    """
       creates a pyVCP widget
           parent = parent widget
           widget_name = name of widget to be created 
           params = a list of parameters passed to the widget __init__
    """
    global widgets
    constructor = getattr(pyvcp_widgets, "pyvcp_" + str(widget_name))
    if hasattr(parent, "getcontainer"):
        container = parent.getcontainer()
    else:
        container = parent
    positional_params = (container, pycomp)
    try:
        widget = constructor(*positional_params, **params)
    except Exception as detail:
        raise SystemExit("Error constructing %s(%s):\n%s" % (widget_name, params, detail))
    # pack the widget according to parent
    # either hbox or vbox
    if container==pyvcp0:
        widget.pack(side='top', fill=BOTH, expand=YES)
    else:
        parent.add(container, widget)
    # add the widget to a global list widgets
    # to enable calling update() later
    widgets[pycomp].append(widget)
    return widget