Fix issue causing components of a particular type to initialise a component that isn't of that type.
Reorganise component initialisation tests.
Ensure that a component cannot be initialised on an element more than once.