Notes:

Files could be read from any of the user layers that made sense. Writes would go to all of the layers in order to keep them in sync.
Possible sources include anything that can be made to look like a filesystem, including filesystems, local and remote, and databases.