Adding Structural / Flyweight impl and test