[AESH-218]
if we need the cursor position, we must aquire a read lock and push the data to a separate queue
- parsing the data should be more efficient than before.