move many classes to new ui package, refined download and cache helpers, etc.
more files to commit