Does that mean two 'close' events get emitted now?  One here and one in socketOnData()?

A regression test or two would be good.