Creates an object interface around a group of files.

This allows for encapsulating all the functions that iterate over
a set of files / rates, instead of having triple FOR loops in many
places.
It's not very clear what goes in rates and what goes in list of rates. What is the difference?