More Reactive API, added gatherE and snapshotWith