check uses callback provided to flush instead of sending 'end' signal