Refactor Wires Shapes hierachy, base classes and interfaces. Change Factories to expose Identifier for selection of correct Factory.