Complete rewrite of component system.
Javadoc stuff.