Split the list view code up in three pieces
1. getListContents which returns the required contents dictionary
2. _list which returns the response for a specified list of contents
3. list which constructs just one content dict and passes it to _list
This way it is easier to do step 1 and 2 in other code than list(),
which makes it possible to display multiple list pages (by calling
getListContents multiple times and passing the result to _list).