This is a change that I was going to suggest myself. I will say that the whole buffer-of-objects where only one is different than the rest reminds me of some of the clunkier things I used to do to make buffered pipes in Java; I don't have a good suggestion for how to do it better, but it feels a little overdone.