code: public <A, T> Observable<Notification<T>> channel(
          final DeliveryMethod type,
          final ObservableFactory<A, T> observableFactory) {
  
          return channel(type, new Func1<Object, Observable<Notification<T>>>() {
              @Override
              public Observable<Notification<T>> call(final Object arg) {
                  return ReconnectableMap.INSTANCE.channel(key, type, new Func0<Observable<T>>() {
                      @Override
                      public Observable<T> call() {
                          return observableFactory.call((A) arg);
                      }
                  });
              }
          });
      }
docs: Provides a channel to an observable that can be created with a given observable factory.
  
  Note that to make use of arguments, both
  {@link #channel(DeliveryMethod, ObservableFactory)} and
  {@link #launch(Object)} variants should be used.
  
  @param type              a type of the channel.
  @param observableFactory an observable factory which will be used to create an observable per launch.
  @return an observable which emits {@link rx.Notification} of onNext and onError observable emissions.