'Key function for determining which (syncable) objects are associated
with which zones.'

def get_zone(self):

    zone = getattr(self, 'zone', None)
    if ((not zone) and (not self.signed_by)):
        if (_get_own_device().is_trusted() and self.zone_fallback):
            zone = self.zone_fallback
        else:
            zone = _get_own_device().get_zone()
    if ((not zone) and self.signed_by):
        zone = self.signed_by.get_zone()
    if ((not zone) and self.signed_by and self.signed_by.is_trusted()):
        zone = self.zone_fallback
    return zone
