added logging to Router for easier testing
Raise an error if adding a component that already has sub-components