Add flyweight design pattern