Have you every considered a stream implementation, instead of a callback? Any interest in that direction?