Adding streaming API, intrude/observe/reply modes, bugfixes, cleanup, more abstraction.