moved the wireIn logic to AbstractComponent, and now the Factory class calls the method from the class prototype context