With the buffer, it works as you described. I changed how we used it, though, so now the constructor requires input, output io.ReadWriter arguments, so we can make the command line batchTail which reads from os.Stdin and writes to os.Stdout. 

However, for the map, I get an error 
```
panic: runtime error: assignment to entry in nil map
```
if I don't initialize the map via make.