Given a collection of Word objects, I want to display a scrollable tag cloud similar to what is shown below. My Word class has properties for Name and Rank from which I will determine sorting and weighting of the fonts. Each word should be a selectable object (for invoking some event). Since the collection can contain thousands of objects, I only need to manage words that are currently presented in the view (i.e., as they scroll off the bottom or top of the screen, I no longer care about them).
How would you approach this?