Abstract file storage interface to allow easy switching between local filesystem storage and say S3