Deferred-based implementation; timeline seeking still funny, but the rest is cleaner and possibly more robust