class ComplexJsonStreamGiven what is in the buffer, parse a single object out of it.
Register that we have another chunk available for consumption.
Skip characters in the buffer till we get to the start of an object.
If the string is present, move the start of the buffer to the first occurrence
Add data to the buffer. This may cause chunks to be generated, if available.
Indicate there is no more data that will be added to the text buffer.
Get the next chunk that is coming from the stream.