Nice Carl! I was thinking about giving TaskStatus the ability to signal cancel to the task directly, but a TaskStatus object can be reused (bad idea if inject is used), so that might not be clean. Other solutions would be to fire a cancel event perhaps, or setting some other property in scope so that we wouldn't have to hold on to the task instance.