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.
super(LambdaFunction, self).__init__(arn)
        self.event_sources = []
        self.targets = []
        self.versions = {}
        self.aliases = {}
        self.envvars = {}
        self.tags = {}
        self.concurrency = None
        self.runtime = None
        self.handler = None
        self.cwd = None
        self.timeout = None
        self.last_modified = None
        self.vpc_config = None
        self.role = None
        self.kms_key_arn = None
        self.memory_size = None
        self.code = None
        self.dead_letter_config = None
        self.on_successful_invocation = None
        self.on_failed_invocation = None
        self.max_retry_attempts = None
        self.max_event_age = None
        self.description = ""
        self.code_signing_config_arn = None
        self.package_type = None
        self.architectures = ["x86_64"]
        self.image_config = {}
        self.tracing_config = {}
    def set_dead_letter_config(self, data):