The consumer side of a buffer is an output, so it's natural to have output callbacks. It is forced by the code, and I don't see much harm to expose them to users. (Though I've never used them.)