Implement web application controllers

The previously faked list controller and file download controller are now implemented in the way they actually make API requests and return correct responses, while making use of cache resource to reduce the number of API calls to minimum.