 define [
   'use!vendor/backbone'
   'underscore'
-], (Backbone, _) ->
+  'jquery'
+], (Backbone, _, $) ->
 
   Backbone.syncWithoutMultipart = Backbone.sync
   Backbone.syncWithMultipart = (method, model, options) ->
     # Create a hidden iframe
-    iframeId = 'file_upload_iframe_' + (new Date()).getTime()
+    iframeId = _.uniqueId 'file_upload_iframe_'
     $iframe = $("<iframe id='#{iframeId}' name='#{iframeId}' ></iframe>").hide()
+    dfd = new $.Deferred()
 
     # Create a hidden form
     httpMethod = {create: 'POST', update: 'PUT', delete: 'DELETE', read: 'GET'}[method]


      if iframeBody.className is "error"
        options.error?(response)
      else
        options.success?(response)

      $iframe.remove()
      $form.remove()

          $orig = $(attr)
          $orig.after($orig.clone(true))
          attr
        else if !_.isEmpty(attr) and (_.isArray(attr) or typeof attr is 'object')
          toForm(attr, key)
        else if !"#{key}".match(/^_/) and attr? and typeof attr isnt 'object' and typeof attr isnt 'function'
          $el = $ "<input/>",
            name: key
            value: attr
