Making the ChannelFactory static
Updated RetryOnException<TException> to take a predicate of TException