First pass at file cache implementation.