Cancellation button toggle (lots of sketchy PLINQ/backgroundworker/exceptions... if there are problems later try rolling this back first)