* Add a file memory provider * Address PR comments * Fix review comments. * Add additional unit tests * Addressing PR comments.