1. TakeOff's Tick() method never checks itself whether it is canceled
2. If NextActivity is null, TakeOff is the only activity on the queue
3. Takeoff canceling the queue then just cancels itself, with no effect at all
4. If Takeoff however is running as an inner activity, it will cancel the complete main queue, wrecking all sorts of havoc