function ControlledObservable (source, enableQueue, scheduler) {
      __super__.call(this);
      this.subject = new ControlledSubject(enableQueue, scheduler);
      this.source = source.multicast(this.subject).refCount();
    }
Pauses the underlying observable sequence based upon the observable sequence which yields true/false,
and yields the values that were buffered while paused.
@example
var pauser = new Rx.Subject();
var source = Rx.Observable.interval(100).pausableBuffered(pauser);
@param {Observable} pauser The observable sequence used to pause the underlying sequence.
@returns {Observable} The observable sequence which is paused based upon the pauser.