<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_embedded_template_draft(self, client_id, signer_roles, test_mode=False, files=None, file_urls=None, title=None, subject=None, message=None, cc_roles=None, merge_fields=None, use_preexisting_fields=False):
        ''' Helper method for creating embedded template drafts.
            See public function for params.
        '''

        url = self.TEMPLATE_CREATE_EMBEDDED_DRAFT_URL

        payload = {
            'test_mode': self._boolean(test_mode),
            'client_id': client_id,
            'title': title,
            'subject': subject,
            'message': message,
            'use_preexisting_fields': self._boolean(use_preexisting_fields)
        }

        # Prep files
        files_payload = HSFormat.format_file_params(files)
        file_urls_payload = HSFormat.format_file_url_params(file_urls)

        # Prep Signer Roles
        signer_roles_payload = HSFormat.format_dict_list(signer_roles, 'signer_roles')
        # Prep CCs
        ccs_payload = HSFormat.format_param_list(cc_roles, 'cc_roles')
        # Prep Merge Fields
        merge_fields_payload = {
            'merge_fields': json.dumps(merge_fields)
        }

        # Assemble data for sending
        data = {}
        data.update(payload)
        data.update(file_urls_payload)
        data.update(signer_roles_payload)
        data.update(ccs_payload)
        if (merge_fields is not None):
            data.update(merge_fields_payload)
        data = HSFormat.strip_none_values(data)

        request = self._get_request()

        response = request.post(url, data=data, files=files_payload)

        return response