docs: function(fields, oldValue) {
              fields = this.__resolveFields(fields);
  
              var prop, key;
  
              this.__checkEmitEvent(true);
  
              if (fields.length) {
                  prop = fields.slice(0, -1).join('.');
                  key  = _.last(fields);
  
                  this.__emitEvent('property.' + prop + '.item_removed', key, oldValue);
                  this.__emitEvent('property.item_removed', prop, key, oldValue);
              }
  
              prop = fields.join('.');
  
              this.__emitEvent('property.' + prop + '.remove',  oldValue);
              this.__emitEvent('property.remove', prop, oldValue);
  
              return this;
          }