async def METHOD_NAME(self, message):
    state = message["state"]
    cred_ex_id = message["cred_ex_id"]
    prev_state = self.cred_state.get(cred_ex_id)
    if prev_state == state:
        return  # ignore
    self.cred_state[cred_ex_id] = state
    self.log(f"Credential: state = {state}, cred_ex_id = {cred_ex_id}")
    if state == "request-received":
        # TODO issue credentials based on offer preview in cred ex record
        pass