Adding abstractions for caching and file system interaction. Also adding persistence of the authentication context.