Add foundation ComponentFactory and unit test.