STREAMS-135 | Refactored provider to be reactive and not spin lock
STREAMS-135 | Adjusted checks for config so that the sample endpoint can be used
STREAMS-135 | Reduced number of serialization/deserialization steps
STREAMS-135 | Updated per code review notes
STREAMS-135 | Updated counting model and locking