Task.cancel() is more tolerant of race conditions- gives a log warning but does not throw an exception if multiple cancels; RMSUtils additional concurrency guard
Task.cancel() changes to assist in override; RMSUtils has app-level syncing