use IOWriter when testing the queue.

By using IOWriter we know without a doubt that the unit of work has been
executed, but by checking @frequency we can just guess a unit of work has
been put onto the channel, which does not mean it has been run, although it is
probably good enough. I feel more confident with IOWriter, though.