While a lambda is still processing (archive unpacking etc), the lambda state should be set to "Pending" (currently "Active") and invocations to that lambda should fail (currently, it can end up in a inconsistent state in this case, like lambdas being executed without layers).

Lambda state should reflect the current internal state, and invocations should fail if not active.
if not isinstance(data, dict):
            return
        updated = False
        if "DestinationConfig" in data:
            if "OnFailure" in data["DestinationConfig"]:
                dlq_arn = data["DestinationConfig"]["OnFailure"]["Destination"]
                self.on_failed_invocation = dlq_arn
                updated = True
            if "OnSuccess" in data["DestinationConfig"]:
                sq_arn = data["DestinationConfig"]["OnSuccess"]["Destination"]
                self.on_successful_invocation = sq_arn
                updated = True
        if "MaximumRetryAttempts" in data:
            try:
                max_retry_attempts = int(data["MaximumRetryAttempts"])
            except Exception:
                max_retry_attempts = 3
            self.max_retry_attempts = max_retry_attempts
            updated = True
        if "MaximumEventAgeInSeconds" in data:
            try:
                max_event_age = int(data["MaximumEventAgeInSeconds"])
            except Exception:
                max_event_age = 3600
            self.max_event_age = max_event_age
            updated = True
        if updated:
            self.last_modified = datetime.utcnow()
        return self
    def destination_enabled(self):