'Create and return feedback item for Alfred.
:returns: :class:`ElementTree.Element <xml.etree.ElementTree.Element>`
instance for this :class:`Item` instance.'

@property
def elem(self):

    attr = {}
    if self.valid:
        attr[u'valid'] = u'yes'
    else:
        attr[u'valid'] = u'no'
    if (self.autocomplete is not None):
        attr[u'autocomplete'] = self.autocomplete
    for name in (u'uid', u'type'):
        value = getattr(self, name, None)
        if value:
            attr[name] = value
    root = ET.Element(u'item', attr)
    ET.SubElement(root, u'title').text = self.title
    ET.SubElement(root, u'subtitle').text = self.subtitle
    for mod in (u'cmd', u'ctrl', u'alt', u'shift', u'fn'):
        if (mod in self.modifier_subtitles):
            ET.SubElement(root, u'subtitle', {u'mod': mod}).text = self.modifier_subtitles[mod]
    if self.arg:
        ET.SubElement(root, u'arg').text = self.arg
    if self.icon:
        if self.icontype:
            attr = dict(type=self.icontype)
        else:
            attr = {}
        ET.SubElement(root, u'icon', attr).text = self.icon
    if self.largetext:
        ET.SubElement(root, u'text', {u'type': u'largetype'}).text = self.largetext
    if self.copytext:
        ET.SubElement(root, u'text', {u'type': u'copy'}).text = self.copytext
    return root
