Adapt controllers to search downloads

This PR depends on #109, #116, and #117. Just merge download_search into this PR branch after having merged at least one of those PR's to have a sensibly smaller diff