It's not at all well-tested yet (I made a lot of changes to it just tonight)
but it's late and I am literally sick (with flu) and tired so I'm checking
this in and going to bed.
Please fix all the bugs for me. ;-)
The internal method (the default) simply replicates Moodle's
existing behaviour and is working fine.
The new flatfile module also works.
There is no admin config interface yet, I'm still implementing
this using templates.