I need to consume events from multiple sources. Amount of sources varies, a source may be dinamically added or removed.

As I want a possibility to change set of sources 'on the fly', without need to resubscribe, `merge` is not a case.

Have tried something like

```
PublishSubject<Integer> sourcesSubject = PublishSubject.create();

sourcesSubject.subscribe(...);

Observable<Integer> source1 = ...;
source1.subscribe(sourcesSubject); // add first source

Observable<Integer> source2 = ...;
source2.subscribe(sourcesSubject); // add second source

..... // How to remove a source?

```

but have no idea how to remove a source.

Is there a simple solution?