when yielding a channel, perform a take by default (fixes #4)

Implement what we talked about in #4. After using it for a while I think it helps a good bit.