Added flyweight pattern.