The storage stream provides an internal buffer that
can be filled by a client using a single output
stream. One or more independent input streams can
be created to read the data out non-destructively.
The implementation uses a segmented buffer
internally to avoid realloc'ing of large buffers.