@classmethod
def create(cls, model=None, parent=None, autoCommit=True, defaults=None,
    title=''):
    """
        Prompts the user to create a new record.
        
        :param      model  | <subclass of orb.Table>
                    parent | <QWidget>
                    autoCommit | <bool>
                    defaults | <dict> || None
        
        :return     <orb.Table> || None
        """
    if model is None:
        model = cls.tableType()
        if model is None:
            return None
    dlg = cls.getDialog('create', parent)
    if not title:
        title = 'Create {0}'.format(type(model).__name__)
    dlg.setWindowTitle(title)
    widget = dlg._mainwidget
    widget.setRecord(model())
    widget.setAutoCommitOnSave(autoCommit)
    if defaults:
        widget.loadValues(defaults)
    else:
        widget.loadValues({})
    result = dlg.exec_()
    if result or widget.saveSignalBlocked():
        output = widget.record()
    else:
        output = None
    return output
