docs: function (mainType, cb, context) {
          var componentsMap = this._componentsMap;
  
          if (typeof mainType === 'function') {
              context = cb;
              cb = mainType;
              componentsMap.each(function (components, componentType) {
                  each(components, function (component, index) {
                      cb.call(context, componentType, component, index);
                  });
              });
          }
          else if (isString(mainType)) {
              each(componentsMap.get(mainType), cb, context);
          }
          else if (isObject(mainType)) {
              var queryResult = this.findComponents(mainType);
              each(queryResult, cb, context);
          }
      }