 dropzoneLogger = new Logger("dropzone")
 logger = new Logger("DropzoneService")
 
-logDropzone = (event, args...) =>
+handleDropzoneEvent = (event, dropzone, args...) =>
   dropzoneLogger.debug("#{event}:", args)
+  if event in ["addedfile", "addedfiles", "removedfile"]
+    dep = getDependency(dropzone)
+    dep.changed()
 
  b64ToBlob = (b64Data, contentType, sliceSize) ->
    sliceSize = sliceSize || 512

      createImageThumbnails: forPictures,
    })
    for event in monitoredDropzoneEvents
      dropzone.on(event, R.partial(logDropzone, event))
    if existingFiles? && !R.isEmpty(existingFiles)
      description = if forPictures then "picture" else "file"
      picker = if forPictures then ((x) -> R.merge(x, {name: x.url})) else (

      !R.isEmpty(dropzone.files)

  clearDropzone: (dropzone) ->
    dropzone.removeAllFiles(true)

  createDropzone: (cssId, forPictures, existingFiles) ->
    uploadFiles = (files, data) ->
