got rid of observablecollection; updateUI runs within App.Invoke
a new widget - CachedImage; selectability - function and UI; last page with sparse set of images look better