TypeScript example fully rewritten
Flyweight overview in progress