docs: function subscribe(pattern, object) {
      var paths = pattern.split('.');
      var path;
      var regex = [];
  
      for (var i = 0, l = paths.length; i < l; i++) {
        path = paths[i];
        if (path === '*') {
          regex.push('[^\\.]*');
        } else {
          regex.push(path);
        }
      }
  
      regex = regex.join('\\.');
      regex = regex + '(\\..*)?';
  
      var subscriber = {
        pattern: pattern,
        regex: new RegExp('^' + regex + '$'),
        object: object
      };
  
      subscribers.push(subscriber);
      cache = {};
  
      return subscriber;
    }