// ReSharper disable UnusedMember.Local private void SubscribeAsyncComponent <TConsumer, TMessage>(Func <TConsumer> getConsumer) // ReSharper restore UnusedMember.Local where TConsumer : IAsyncConsumer <TMessage> where TMessage : class { Pipe segment = PipeSegment.AsyncConsumer <TConsumer, TMessage>(getConsumer); var binder = new SubscriberBinder(segment); binder.Bind(_pipe); _disposables.Add(segment); }