Open Close Put Get

@andybons PTAL for style - first pass review. Then we can figure out larger API issues