added pre and post fields to Writers type. Stuff is eventually printed in the right order.
listen doesn't seem to do what it should.