'Form builder entry point
@param field: the Field or a Storage with field information
@param label: the label
@param ref: the reference (string) that links the widget
with the data model
@return: tuple (widget, dict of i18n-strings)'

def __call__(self, field, label, ref):

    if (not field):
        raise SyntaxError('Field    is    required')
    if (not ref):
        raise SyntaxError('Reference    is    required')
    self.ref = ref
    attr = {'_ref': ref}
    self.setstr('label', label)
    comment = field.comment
    if (comment and isinstance(comment, basestring)):
        self.setstr('hint', comment)
    return (self.widget(field, attr), self._strings)
