code: function (object, callbacks) {
      callbacks = callbacks || { };
  
      var empty = function() { },
          onComplete = callbacks.onComplete || empty,
          onChange = callbacks.onChange || empty,
          _this = this;
  
      fabric.util.animate({
        startValue: object.get('opacity'),
        endValue: 0,
        duration: this.FX_DURATION,
        onStart: function() {
          object.setActive(false);
        },
        onChange: function(value) {
          object.set('opacity', value);
          _this.renderAll();
          onChange();
        },
        onComplete: function () {
          _this.remove(object);
          onComplete();
        }
      });
  
      return this;
    }
docs: Same as `fabric.Canvas#remove` but animated
  @method fxRemove
  @param {fabric.Object} object Object to remove
  @param {Function} callback Callback, invoked on effect completion
  @return {fabric.Canvas} thisArg
  @chainable