Something
public text v1 · immutable Observable
.Start(() => _channelFactory.CreateChannel())
.SelectMany(channel => Observable
.Timer(TimeSpan.FromSeconds(1), Scheduler.Immediate)
.Select(channel))
.SelectMany(channel => Observable
.FromAsyncPattern<string, Stream>(
channel.BeginGetImage,
channel.EndGetImage)(imageUri))
.Retry()
.Repeat()
.Subscribe(stream => UpdateImageStream(imageUri, stream));