public function __invoke(ObservableInterface $observable, ObserverInterface $observer, SchedulerInterface $scheduler = null) { return $observable->subscribe(new CallbackObserver(function (Notification $x) use($observer) { $x->accept($observer); }, [$observer, 'onError'], [$observer, 'onCompleted'])); }