Resequence the cleanup so that cancellation happens after removal of observers