Move upload UI update event subscription into the action
- now the UI updates if part of a non-click action chain (but via click too)
- also clarified that the preview's non-private 'external' interfacing methods are thread safe (self invoke)
A bit more concise