public void Subscribe <T>(TimeSpan interval, MessageConsumer <IList <T> > consumer) where T : class { Pipe segment = PipeSegment.IntervalConsumer(interval, consumer); var binder = new SubscriberBinder(segment); binder.Bind(_pipe); _disposables.Add(segment); }