RX fluent subscribing to observables I have three observables:

var itemsManipulationStarted =
                Observable.FromEvent&lt;ManipulationStartedEventArgs&gt;(Items, "ManipulationStarted");

var pageManipulationDelta = Observable.FromEvent&lt;ManipulationDeltaEventArgs&gt;(this, "ManipulationDelta");

var pageManipulationCompleted =
                Observable.FromEvent&lt;ManipulationCompletedEventArgs&gt;(this, "ManipulationCompleted");


They are always called in that sequense: itemsManipulationStarted -> pageManipulationDelta -> pageManipulationCompleted 

After every call to any observable I need to make some actions:

itemsManipulationStarted.Subscribe(e =&gt; Items.IsHitTestVisible = false);

pageManipulationDelta.SkipUntil(itemsManipulationStarted)
                     .Subscribe(e =&gt; e.EventArgs.Complete());

pageManipulationCompleted.SkipUntil(pageManipulationDelta)
                         .Subscribe(e =&gt; Items.IsHitTestVisible = true);


Is it clear or is there another way to write some "fluent" subscribing?
If you're on C# 5.0, you can use await with IObservables to write code like this:

await itemsManipulationStarted.FirstAsync();
Items.IsHitTestVisible = false;

var e = await pageManipulationDelta.FirstAsync();
e.EventArgs.Complete();

await pageManipulationCompleted.FirstAsync();
Items.IsHitTestVisible = true;


Though I'm not completely sure this will do what you want, because of timing.