Some refactoring work to support an optional refresh
Split out DL fragments, give them D/L responsibility
Fragments know what category they are
Filtering not quite working yet, not sure why...