code: public final void addComponent(String namespace, String name, String componentType, String rendererType, 
                                        Class<? extends TagHandler> handlerType)
      {
          Map<String, TagHandlerFactory> map = _factories.get(namespace);
          if (map == null)
          {
              map = new HashMap<String, TagHandlerFactory>();
              _factories.put(namespace, map);
          }
          map.put(name, new UserComponentHandlerFactory(componentType, rendererType, handlerType));
      }
docs: Add a ComponentHandler with the specified componentType and rendererType, aliased by the tag name. The Facelet
  will be compiled with the specified HandlerType (which must extend AbstractComponentHandler).
  
  @see AbstractComponentHandler
  @param name
  name to use, "foo" would be &lt;my:foo />
  @param componentType
  componentType to use
  @param rendererType
  rendererType to use
  @param handlerType
  a Class that extends AbstractComponentHandler