Add structural flyweight pattern