Component loader - support for 'singleton' components

 - don't allow 'singleton' components to be created more than once