         if newFile
           @currentObject = newFile
           @__watchCurrentObject()
+        @__onChange.fire @currentObject
 
     __watchCurrentObject: ->
       object = @__currentFile()

              @__onUploadingFailed(error)

    __onUploadingDone: (info) ->
      @__updateInputValue @__infoToValue(info)
      @template.setFileInfo(info)
      @template.loaded()


      else
        info.uuid

    __reset: =>
      # low-level primitive. @__setObject(null) could be better.
      @currentObject?.cancel?()
      @currentObject = null
      @template.reset()
      @element.val('')

    __setObject: (newFile) =>
      unless newFile == @currentObject
