Combine multiple Observables with different actions/operations
<p>I'm building an Angular2 app, so I'm getting used to Observables and Reactive Extensions as a whole. I'm using TypeScript and rxjs.</p>

<p>Now I've got an observable, or a stream if you will, of an array of some objects. Let's say Person-objects. Now I've got two other streams of Person-objects and want to combine these so I get a stream which is always up to date:</p>

<pre><code>var people$ = getPeople();                  // Observable&lt;Person[]&gt;
var personAdded$ = eventHub.personAdded;    // Observable&lt;Person&gt;;
var personRemoved$ = eventHub.personRemoved // Observable&lt;Person&gt;;

var allwaysUpToDatePeople$ = people$.doSomeMagic(personAdded$, personRemoved$, ...);
</code></pre>

<p>If the people-stream emits an array of, let's say, 5 people, and after that the personAdded-stream emits a person, the allPeople-stream wil emit an array of 6. 
If the personRemoved-stream emits a person, the allPeople-stream should emit an array of Person-objects without the one just emitted by the personRemoved-stream.</p>

<p>Is there a way built into rxjs to get this behaviour?</p>