Don't evaluate items that are cancelled

Should an operation be deep in the queue, and be canceled before it even
gets a chance to be evaluated, we shouldn't even call the Func, it
should just Disappear