simplifying top level variables
diff --git a/packages/devtools_app/lib/src/screens/app_size/app_size_controller.dart b/packages/devtools_app/lib/src/screens/app_size/app_size_controller.dart
index d27ad71..62532e6 100644
--- a/packages/devtools_app/lib/src/screens/app_size/app_size_controller.dart
+++ b/packages/devtools_app/lib/src/screens/app_size/app_size_controller.dart
@@ -175,63 +175,42 @@
   }
 
   TreemapNode? get _activeDiffRoot {
-    final isDeferred = _isDeferredApp.value;
     final diffTreeType = _activeDiffTreeType.value;
+    final appUnit = _selectedAppUnit.value;
 
-    if (!isDeferred) {
-      switch (diffTreeType) {
-        case DiffTreeType.increaseOnly:
-          return _increasedDiffTreeRoot;
-        case DiffTreeType.decreaseOnly:
-          return _decreasedDiffTreeRoot;
-        case DiffTreeType.combined:
-        default:
-          return _combinedDiffTreeRoot;
-      }
-    } else {
-      final appUnit = _selectedAppUnit.value;
-      switch (diffTreeType) {
-        case DiffTreeType.increaseOnly:
-          if (appUnit == AppUnit.mainOnly) {
-            return _mainIncreasedDiffTreeRoot;
-          } else if (appUnit == AppUnit.deferredOnly) {
-            return _deferredIncreasedDiffTreeRoot;
-          } else {
-            return _increasedDiffTreeRoot;
-          }
-        case DiffTreeType.decreaseOnly:
-          if (appUnit == AppUnit.mainOnly) {
-            return _mainDecreasedDiffTreeRoot;
-          } else if (appUnit == AppUnit.deferredOnly) {
-            return _deferredDecreasedDiffTreeRoot;
-          } else {
-            return _decreasedDiffTreeRoot;
-          }
-        case DiffTreeType.combined:
-          if (appUnit == AppUnit.mainOnly) {
-            return _mainCombinedDiffTreeRoot;
-          } else if (appUnit == AppUnit.deferredOnly) {
-            return _deferredCombinedDiffTreeRoot;
-          } else {
-            return _combinedDiffTreeRoot;
-          }
-        default:
-          return _combinedDiffTreeRoot;
-      }
+    switch (diffTreeType) {
+      case DiffTreeType.increaseOnly:
+        if (appUnit == AppUnit.mainOnly) {
+          return _mainDiffTreeMap!.increaseOnly;
+        } else if (appUnit == AppUnit.deferredOnly) {
+          return _deferredDiffTreeMap!.decreaseOnly;
+        } else {
+          return _diffTreeMap!.increaseOnly;
+        }
+      case DiffTreeType.decreaseOnly:
+        if (appUnit == AppUnit.mainOnly) {
+          return _mainDiffTreeMap!.increaseOnly;
+        } else if (appUnit == AppUnit.deferredOnly) {
+          return _deferredDiffTreeMap!.decreaseOnly;
+        } else {
+          return _diffTreeMap!.decreaseOnly;
+        }
+      case DiffTreeType.combined:
+        if (appUnit == AppUnit.mainOnly) {
+          return _mainDiffTreeMap!.combined;
+        } else if (appUnit == AppUnit.deferredOnly) {
+          return _deferredDiffTreeMap!.combined;
+        } else {
+          return _diffTreeMap!.combined;
+        }
+      default:
+        return _diffTreeMap!.combined;
     }
   }
 
-  TreemapNode? _increasedDiffTreeRoot;
-  TreemapNode? _decreasedDiffTreeRoot;
-  TreemapNode? _combinedDiffTreeRoot;
-
-  TreemapNode? _mainIncreasedDiffTreeRoot;
-  TreemapNode? _mainDecreasedDiffTreeRoot;
-  TreemapNode? _mainCombinedDiffTreeRoot;
-
-  TreemapNode? _deferredIncreasedDiffTreeRoot;
-  TreemapNode? _deferredDecreasedDiffTreeRoot;
-  TreemapNode? _deferredCombinedDiffTreeRoot;
+  DiffTreeMap? _diffTreeMap;
+  DiffTreeMap? _mainDiffTreeMap;
+  DiffTreeMap? _deferredDiffTreeMap;
 
   Map<String, dynamic>? get _dataForAppUnit {
     switch (_selectedAppUnit.value) {
@@ -277,9 +256,9 @@
     _diffRoot.value = null;
     _oldDiffJsonFile.value = null;
     _newDiffJsonFile.value = null;
-    _increasedDiffTreeRoot = null;
-    _decreasedDiffTreeRoot = null;
-    _combinedDiffTreeRoot = null;
+    _diffTreeMap = null;
+    _mainDiffTreeMap = null;
+    _deferredDiffTreeMap = null;
     _diffCallGraphRoot.value = null;
     _oldDiffCallGraph = null;
     _newDiffCallGraph = null;
@@ -520,23 +499,14 @@
 
     // TODO(peterdjlee): Try to move the non-active tree generation to separate isolates.
     // Entire app or root (for non-deferred):
-    final diffTreeMap = _generateDiffTrees(diffMap);
-    _combinedDiffTreeRoot = diffTreeMap.combined;
-    _increasedDiffTreeRoot = diffTreeMap.increaseOnly;
-    _decreasedDiffTreeRoot = diffTreeMap.decreaseOnly;
+    _diffTreeMap = _generateDiffTrees(diffMap);
 
     if (isDeferredApp.value) {
       // For main only:
-      final mainDiffTreeMap = _generateDiffTrees(mainDiffMap!);
-      _mainCombinedDiffTreeRoot = mainDiffTreeMap.combined;
-      _mainIncreasedDiffTreeRoot = mainDiffTreeMap.increaseOnly;
-      _mainDecreasedDiffTreeRoot = mainDiffTreeMap.decreaseOnly;
+      _mainDiffTreeMap = _generateDiffTrees(mainDiffMap!);
 
       // For deferred only:
-      final deferredDiffTreeMap = _generateDiffTrees(deferredDiffMap!);
-      _deferredCombinedDiffTreeRoot = deferredDiffTreeMap.combined;
-      _deferredIncreasedDiffTreeRoot = deferredDiffTreeMap.increaseOnly;
-      _deferredDecreasedDiffTreeRoot = deferredDiffTreeMap.decreaseOnly;
+      _deferredDiffTreeMap = _generateDiffTrees(deferredDiffMap!);
     }
 
     changeDiffRoot(_activeDiffRoot);