Implement ::open, .initialize, and .close [untested]
Change map to be strings
Implement (untested) []=, index, key