<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, friendly_name, configuration, assignment_callback_url=values.unset, fallback_assignment_callback_url=values.unset, task_reservation_timeout=values.unset):
 """ Create a new WorkflowInstance :param unicode friendly_name: A string representing a human readable name for this Workflow. :param unicode configuration: JSON document configuring the rules for this Workflow. :param unicode assignment_callback_url: A valid URL for the application that will process task assignment events. :param unicode fallback_assignment_callback_url: If the request to the AssignmentCallbackUrl fails, the assignment callback will be made to this URL. :param unicode task_reservation_timeout: An integer value controlling how long in seconds TaskRouter will wait for a confirmation response from your application after assigning a Task to a worker. :returns: Newly created WorkflowInstance :rtype: twilio.rest.taskrouter.v1.workspace.workflow.WorkflowInstance """

        data = values.of({
            'FriendlyName': friendly_name,
            'Configuration': configuration,
            'AssignmentCallbackUrl': assignment_callback_url,
            'FallbackAssignmentCallbackUrl': fallback_assignment_callback_url,
            'TaskReservationTimeout': task_reservation_timeout,
        })

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

        return WorkflowInstance(self._version, payload, workspace_sid=self._solution['workspace_sid'], )