Adding components to a model that have the same name as existing components now throws an error rather than silently overwriting. Resolves #2