Calling that second parameter to the initialize method 'logger' tripped me up too. Having not seen earlier implementations, I assumed this to be a ::Logger rather than an IO stream.Perhaps the parameter should be renamed to 'io' or 'stream'?