code: protected void createComponent (
          int componentId, String cclass, String cname, FrameProvider fprov)
      {
          // look up the component class information
          ComponentClass clazz = _classes.get(cclass);
          if (clazz == null) {
              log.warning("Non-existent component class",
                  "class", cclass, "name", cname, "id", componentId);
              return;
          }
  
          // create the component
          CharacterComponent component = new CharacterComponent(componentId, cname, clazz, fprov);
  
          // stick it into the appropriate tables
          _components.put(componentId, component);
  
          // we have a hash of lists for mapping components by class/name
          ArrayList<CharacterComponent> comps = _classComps.get(cclass);
          if (comps == null) {
              comps = Lists.newArrayList();
              _classComps.put(cclass, comps);
          }
          if (!comps.contains(component)) {
              comps.add(component);
          } else {
              log.info("Requested to register the same component twice?", "comp", component);
          }
      }
docs: Creates a component and inserts it into the component table.