Global registry for components

This allows for a looser coupling between packages.
Global configuration flags and file

The queue address is stored in the global configuration because it is
needed by all components.
Better handling of component options