<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def create(self, expiration_date=values.unset, details=values.unset, hidden_details=values.unset):
 """ Create a new ChallengeInstance :param datetime expiration_date: The future date in which this Challenge will expire :param unicode details: Public details provided to contextualize the Challenge :param unicode hidden_details: Hidden details provided to contextualize the Challenge :returns: Newly created ChallengeInstance :rtype: twilio.rest.authy.v1.service.entity.factor.challenge.ChallengeInstance """

        data = values.of({
            'ExpirationDate': serialize.iso8601_datetime(expiration_date),
            'Details': details,
            'HiddenDetails': hidden_details,
        })

        payload = self._version.create(
            'POST',
            self._uri,
            data=data,
        )

        return ChallengeInstance(
            self._version,
            payload,
            service_sid=self._solution['service_sid'],
            identity=self._solution['identity'],
            factor_sid=self._solution['factor_sid'],
        )