Finishing ILegendItemFactory implementation
Restructuring