Fixes to track subscriber state correctly from within the nested class
Refactor the PromiseStream operators out into their own classes, fix more race conditions with take() and collect()