Rework task list structure

This provides more flexibility, so that TaskContainers can produce more
than one task.
Remove unused fileList.Remove() function
Restore original "Done" functionality