A Job itself want to query if it got cancelled while it was running and take an appropriate clean up action. This may be specially true for computational intensive jobs. 

Can we can the cancelled field an object, so that it can be passed around as reference ?