Read from a stream, callback style