@status.setter
def status(self, status):
    if (not (self.hasstatus(status) or (status in self._event_lock))):
        self._event_lock.add(status)
        try:
            self._status_setter(status)
        finally:
            self._event_lock.remove(status)
@status.setter
def status(self, status):
    if (not (self.hasstatus(status) or (status in self._event_lock))):
        self._event_lock.add(status)
        try:
            self._status_setter(status)
        finally:
            self._event_lock.remove(status)