'Representation of an Event
:return: An Event
:rtype: Event'

def __init__(self, event, sender=None, level=u'info', formatted=u'', data={}):

    t = datetime.today()
    self.timestamp = t.strftime(u'%Y-%m-%d    %H:%M:%S')
    self.event = str(event).encode(u'ascii', u'xmlcharrefreplace')
    if (sender == None):
        self.sender = sender
    else:
        self.sender = str(sender).encode(u'ascii', u'xmlcharrefreplace')
    self.level = str(level).encode(u'ascii', u'xmlcharrefreplace')
    try:
        self.formatted = str(formatted).encode(u'ascii', u'xmlcharrefreplace')
    except UnicodeEncodeError:
        self.formatted = str(unicode(formatted).encode(u'unicode_escape'))
    self.data = str(data).encode(u'ascii', u'xmlcharrefreplace')
    self.friendly_msg = u''
    if (not formatted):
        self.friendly_msg = self.data
    else:
        self.friendly_msg = formatted.format(**data)
