Output needs to provide:

A component class definition:

- Name
- Package (shared with other classes in same package)
- Description
- Help URL
- pixmap

- List of properties
  - Name
  - Type

- Superclass component names and packages

- Populate instance with values [operation]
- Create view [operation]
- Update view from instance value data [operation]

- Has custom property sheets?
- Get custom sheets


A package class definition:

- Name
- Description
- Help URL
- pixmap

- Register components [operation, static]
- Singleton accessor [operation, static]

General issues:

- Need a naming scheme for packages
- Need a standard hierarchy for help files

Dynamic loading of packages:

- Have a system user plugin directory config entries
- Each plugin must define a single C function that takes no arguments and
  returns a pointer to a Package.
- Use the general pseudo code:

begin
  plugin path = system + user

  for each dir in plugin path
    for each file in *.kgp
      handle = dlopen( file )  // returns 0 on failure, call dlerror() for details
      use dlsym to invoke a C hook to create the singleton Package
      add the package to the component manager
    end for
  end for
end
