simplify RunContext
improve code and docs

- AsyncIterator#destroy() resolves memory leak on heavy load
- further simplify RunContext
- added more inline documentation
more refactoring and docs
more inline docs