'Create a graph object from the OBJECTS dict by name, args, and kwargs.
:param (str) object_name: A valid object name from OBJECTS.
:param args: Arguments to pass to class constructor.
:param kwargs: Keyword arguments to pass to class constructor.
:return: (PlotlyList|PlotlyDict) The instantiated graph object.'

@staticmethod
def create(object_name, *args, **kwargs):

    is_array = (object_name in graph_reference.ARRAYS)
    is_object = (object_name in graph_reference.OBJECTS)
    if (not (is_array or is_object)):
        raise exceptions.PlotlyError("'{}'    is    not    a    valid    object    name.".format(object_name))
    class_name = graph_reference.OBJECT_NAME_TO_CLASS_NAME.get(object_name)
    if (class_name in ['Figure', 'Data', 'Frames']):
        return globals()[class_name](*args, **kwargs)
    else:
        kwargs['_name'] = object_name
        if is_array:
            return PlotlyList(*args, **kwargs)
        else:
            return PlotlyDict(*args, **kwargs)
