Taskはサブスレッド作るの前提だから向かない
Rxは詳しくないけど確かイベントベースのをTask.ContinueWithみたいに書く方法を提供してるんじゃなかったっけ
.NET 4.5以降ならawait/Awaitable/Awaiterですっきり書けるんだけど
まあ手軽にやるならvoid Animate(Action continuation)でもいいよね