'Returns an unsaved object.'

@classmethod
def generate(cls, zone=None, invited_by=None):

    invited_by = (invited_by or Device.get_own_device())
    zone = (zone or invited_by.get_zone())
    assert (zone and invited_by)
    invitation = ZoneInvitation(zone=zone, invited_by=invited_by)
    invitation.set_key(crypto.Key())
    invitation.verify()
    return invitation
