       check @cacheControl, String
       check @onAfterUpload, Match.OneOf false, Function
       check @integrityCheck, Boolean
+      check @onBeforeRemove, Match.OneOf false, Function
       check @downloadCallback, Match.OneOf false, Function
       check @interceptDownload, Match.OneOf false, Function
 

        throw new Meteor.Error 500, "[FilesCollection.#{@collectionName}] \"storagePath\" must be set on \"public\" collections! Note: \"storagePath\" must be equal on be inside of your web/proxy-server (absolute) root."
      @storagePath      ?= "assets/app/uploads/#{@collectionName}"
      @storagePath       = @storagePath.replace /\/$/, ''

      fs.mkdirsSync @storagePath


      @config.onUploaded and @config.onUploaded.call @result, error, data
      if error
        console.warn "[FilesCollection] [insert] [end] Error: ", error if @collection.debug
        @result.abort()
        @result.state.set 'aborted'
        @result.emitEvent 'error', [error, @fileData]
        @config.onError and @config.onError.call @result, error, @fileData
