diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -7,7 +7,7 @@
  */
 return array(
   'names' => array(
-    'core.pkg.css' => 'bd0be091',
+    'core.pkg.css' => 'a16eb6ed',
     'core.pkg.js' => 'f3e08b38',
     'darkconsole.pkg.js' => 'e7393ebb',
     'differential.pkg.css' => 'bb338e4b',
@@ -26,7 +26,7 @@
     'rsrc/css/aphront/pager-view.css' => '2e3539af',
     'rsrc/css/aphront/panel-view.css' => '8427b78d',
     'rsrc/css/aphront/phabricator-nav-view.css' => '949b43d9',
-    'rsrc/css/aphront/table-view.css' => '59e2c0f8',
+    'rsrc/css/aphront/table-view.css' => '0046060b',
     'rsrc/css/aphront/tokenizer.css' => '86a13f7f',
     'rsrc/css/aphront/tooltip.css' => '7672b60f',
     'rsrc/css/aphront/two-column.css' => '16ab3ad2',
@@ -139,7 +139,7 @@
     'rsrc/css/phui/phui-info-panel.css' => '27ea50a1',
     'rsrc/css/phui/phui-info-view.css' => '33595731',
     'rsrc/css/phui/phui-list.css' => 'e448b6ba',
-    'rsrc/css/phui/phui-object-box.css' => '8c1cf7c0',
+    'rsrc/css/phui/phui-object-box.css' => 'c8d82bfe',
     'rsrc/css/phui/phui-object-item-list-view.css' => '4be0645f',
     'rsrc/css/phui/phui-pinboard-view.css' => 'eaab2b1b',
     'rsrc/css/phui/phui-property-list-view.css' => 'd2d143ea',
@@ -484,7 +484,7 @@
     'aphront-multi-column-view-css' => 'fd18389d',
     'aphront-pager-view-css' => '2e3539af',
     'aphront-panel-view-css' => '8427b78d',
-    'aphront-table-view-css' => '59e2c0f8',
+    'aphront-table-view-css' => '0046060b',
     'aphront-tokenizer-control-css' => '86a13f7f',
     'aphront-tooltip-css' => '7672b60f',
     'aphront-two-column-view-css' => '16ab3ad2',
@@ -774,7 +774,7 @@
     'phui-info-view-css' => '33595731',
     'phui-inline-comment-view-css' => '2174771a',
     'phui-list-view-css' => 'e448b6ba',
-    'phui-object-box-css' => '8c1cf7c0',
+    'phui-object-box-css' => 'c8d82bfe',
     'phui-object-item-list-view-css' => '4be0645f',
     'phui-pinboard-view-css' => 'eaab2b1b',
     'phui-property-list-view-css' => 'd2d143ea',
diff --git a/src/applications/almanac/controller/AlmanacController.php b/src/applications/almanac/controller/AlmanacController.php
--- a/src/applications/almanac/controller/AlmanacController.php
+++ b/src/applications/almanac/controller/AlmanacController.php
@@ -176,7 +176,7 @@
 
     return id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($table);
+      ->setTable($table);
   }
 
   protected function addLockMessage(PHUIObjectBoxView $box, $message) {
diff --git a/src/applications/almanac/controller/AlmanacDeviceEditController.php b/src/applications/almanac/controller/AlmanacDeviceEditController.php
--- a/src/applications/almanac/controller/AlmanacDeviceEditController.php
+++ b/src/applications/almanac/controller/AlmanacDeviceEditController.php
@@ -141,7 +141,7 @@
     $box = id(new PHUIObjectBoxView())
       ->setValidationException($validation_exception)
       ->setHeaderText($title)
-      ->appendChild($form);
+      ->setForm($form);
 
     $crumbs = $this->buildApplicationCrumbs();
     if ($is_new) {
diff --git a/src/applications/almanac/controller/AlmanacDeviceViewController.php b/src/applications/almanac/controller/AlmanacDeviceViewController.php
--- a/src/applications/almanac/controller/AlmanacDeviceViewController.php
+++ b/src/applications/almanac/controller/AlmanacDeviceViewController.php
@@ -139,7 +139,7 @@
 
     return id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($table);
+      ->setTable($table);
   }
 
   private function buildSSHKeysTable(AlmanacDevice $device) {
@@ -200,7 +200,7 @@
 
     return id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($table);
+      ->setTable($table);
 
 
   }
@@ -249,7 +249,7 @@
 
     return id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Bound Services'))
-      ->appendChild($table);
+      ->setTable($table);
   }
 
 
diff --git a/src/applications/almanac/controller/AlmanacInterfaceEditController.php b/src/applications/almanac/controller/AlmanacInterfaceEditController.php
--- a/src/applications/almanac/controller/AlmanacInterfaceEditController.php
+++ b/src/applications/almanac/controller/AlmanacInterfaceEditController.php
@@ -132,7 +132,7 @@
     $box = id(new PHUIObjectBoxView())
       ->setValidationException($validation_exception)
       ->setHeaderText($title)
-      ->appendChild($form);
+      ->setForm($form);
 
     $crumbs = $this->buildApplicationCrumbs();
     $crumbs->addTextCrumb($device->getName(), $device_uri);
diff --git a/src/applications/almanac/controller/AlmanacNetworkEditController.php b/src/applications/almanac/controller/AlmanacNetworkEditController.php
--- a/src/applications/almanac/controller/AlmanacNetworkEditController.php
+++ b/src/applications/almanac/controller/AlmanacNetworkEditController.php
@@ -120,7 +120,7 @@
     $box = id(new PHUIObjectBoxView())
       ->setValidationException($validation_exception)
       ->setHeaderText($title)
-      ->appendChild($form);
+      ->setForm($form);
 
     $crumbs = $this->buildApplicationCrumbs();
     if ($is_new) {
diff --git a/src/applications/almanac/controller/AlmanacServiceEditController.php b/src/applications/almanac/controller/AlmanacServiceEditController.php
--- a/src/applications/almanac/controller/AlmanacServiceEditController.php
+++ b/src/applications/almanac/controller/AlmanacServiceEditController.php
@@ -238,7 +238,7 @@
     $box = id(new PHUIObjectBoxView())
       ->setFormErrors($errors)
       ->setHeaderText($title)
-      ->appendChild($form);
+      ->setForm($form);
 
     return $this->buildApplicationPage(
       array(
diff --git a/src/applications/almanac/controller/AlmanacServiceViewController.php b/src/applications/almanac/controller/AlmanacServiceViewController.php
--- a/src/applications/almanac/controller/AlmanacServiceViewController.php
+++ b/src/applications/almanac/controller/AlmanacServiceViewController.php
@@ -141,7 +141,7 @@
 
     return id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($table);
+      ->setTable($table);
   }
 
 }
diff --git a/src/applications/auth/provider/PhabricatorPasswordAuthProvider.php b/src/applications/auth/provider/PhabricatorPasswordAuthProvider.php
--- a/src/applications/auth/provider/PhabricatorPasswordAuthProvider.php
+++ b/src/applications/auth/provider/PhabricatorPasswordAuthProvider.php
@@ -94,7 +94,7 @@
 
     return id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($table);
+      ->setTable($table);
   }
 
   public function getDescriptionForCreate() {
diff --git a/src/applications/auth/query/PhabricatorAuthInviteSearchEngine.php b/src/applications/auth/query/PhabricatorAuthInviteSearchEngine.php
--- a/src/applications/auth/query/PhabricatorAuthInviteSearchEngine.php
+++ b/src/applications/auth/query/PhabricatorAuthInviteSearchEngine.php
@@ -104,6 +104,6 @@
 
     return id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Email Invitations'))
-      ->appendChild($table);
+      ->setTable($table);
   }
 }
diff --git a/src/applications/chatlog/controller/PhabricatorChatLogChannelListController.php b/src/applications/chatlog/controller/PhabricatorChatLogChannelListController.php
--- a/src/applications/chatlog/controller/PhabricatorChatLogChannelListController.php
+++ b/src/applications/chatlog/controller/PhabricatorChatLogChannelListController.php
@@ -29,10 +29,14 @@
       ->buildApplicationCrumbs()
       ->addTextCrumb(pht('Channel List'), $this->getApplicationURI());
 
+    $box = id(new PHUIObjectBoxView())
+      ->setHeaderText('Channel List')
+      ->setObjectList($list);
+
     return $this->buildApplicationPage(
       array(
         $crumbs,
-        $list,
+        $box,
       ),
       array(
         'title' => pht('Channel List'),
diff --git a/src/applications/conduit/controller/PhabricatorConduitAPIController.php b/src/applications/conduit/controller/PhabricatorConduitAPIController.php
--- a/src/applications/conduit/controller/PhabricatorConduitAPIController.php
+++ b/src/applications/conduit/controller/PhabricatorConduitAPIController.php
@@ -566,11 +566,11 @@
 
     $param_panel = new PHUIObjectBoxView();
     $param_panel->setHeaderText(pht('Method Parameters'));
-    $param_panel->appendChild($param_table);
+    $param_panel->setTable($param_table);
 
     $result_panel = new PHUIObjectBoxView();
     $result_panel->setHeaderText(pht('Method Result'));
-    $result_panel->appendChild($result_table);
+    $result_panel->setTable($result_table);
 
     $method_uri = $this->getApplicationURI('method/'.$method.'/');
 
diff --git a/src/applications/conduit/controller/PhabricatorConduitConsoleController.php b/src/applications/conduit/controller/PhabricatorConduitConsoleController.php
--- a/src/applications/conduit/controller/PhabricatorConduitConsoleController.php
+++ b/src/applications/conduit/controller/PhabricatorConduitConsoleController.php
@@ -86,7 +86,7 @@
 
     $form_box = id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Call Method'))
-      ->appendChild($form);
+      ->setForm($form);
 
     $content = array();
 
@@ -129,7 +129,7 @@
           ));
       $content[] = id(new PHUIObjectBoxView())
         ->setHeaderText(pht('Builtin Orders'))
-        ->appendChild($table);
+        ->setTable($table);
 
       $columns = $query->getOrderableColumns();
 
@@ -154,7 +154,7 @@
           ));
       $content[] = id(new PHUIObjectBoxView())
         ->setHeaderText(pht('Column Orders'))
-        ->appendChild($table);
+        ->setTable($table);
     }
 
     $crumbs = $this->buildApplicationCrumbs();
diff --git a/src/applications/conduit/controller/PhabricatorConduitLogController.php b/src/applications/conduit/controller/PhabricatorConduitLogController.php
--- a/src/applications/conduit/controller/PhabricatorConduitLogController.php
+++ b/src/applications/conduit/controller/PhabricatorConduitLogController.php
@@ -37,7 +37,7 @@
     $table = $this->renderCallTable($calls, $conns);
     $box = id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Call Logs'))
-      ->appendChild($table);
+      ->setTable($table);
 
     $crumbs = $this->buildApplicationCrumbs();
     $crumbs->addTextCrumb(pht('Call Logs'));
diff --git a/src/applications/conduit/settings/PhabricatorConduitTokensSettingsPanel.php b/src/applications/conduit/settings/PhabricatorConduitTokensSettingsPanel.php
--- a/src/applications/conduit/settings/PhabricatorConduitTokensSettingsPanel.php
+++ b/src/applications/conduit/settings/PhabricatorConduitTokensSettingsPanel.php
@@ -108,7 +108,7 @@
 
     $panel = id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($table);
+      ->setTable($table);
 
     return $panel;
   }
diff --git a/src/applications/config/controller/PhabricatorConfigAllController.php b/src/applications/config/controller/PhabricatorConfigAllController.php
--- a/src/applications/config/controller/PhabricatorConfigAllController.php
+++ b/src/applications/config/controller/PhabricatorConfigAllController.php
@@ -57,7 +57,7 @@
 
     $panel = new PHUIObjectBoxView();
     $panel->setHeaderText(pht('Current Settings'));
-    $panel->appendChild($table);
+    $panel->setTable($table);
 
     $versions = $this->loadVersions();
 
diff --git a/src/applications/config/controller/PhabricatorConfigCacheController.php b/src/applications/config/controller/PhabricatorConfigCacheController.php
--- a/src/applications/config/controller/PhabricatorConfigCacheController.php
+++ b/src/applications/config/controller/PhabricatorConfigCacheController.php
@@ -92,7 +92,7 @@
     return id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Data Cache'))
       ->addPropertyList($properties)
-      ->appendChild($table);
+      ->setTable($table);
   }
 
   private function renderCommonProperties(
diff --git a/src/applications/config/controller/PhabricatorConfigDatabaseIssueController.php b/src/applications/config/controller/PhabricatorConfigDatabaseIssueController.php
--- a/src/applications/config/controller/PhabricatorConfigDatabaseIssueController.php
+++ b/src/applications/config/controller/PhabricatorConfigDatabaseIssueController.php
@@ -150,7 +150,7 @@
     $table_box = id(new PHUIObjectBoxView())
       ->setHeader($this->buildHeaderWithDocumentationLink($title))
       ->setFormErrors($errors)
-      ->appendChild($table);
+      ->setTable($table);
 
     $nav = $this->buildSideNavView();
     $nav->selectFilter('dbissue/');
diff --git a/src/applications/config/controller/PhabricatorConfigDatabaseStatusController.php b/src/applications/config/controller/PhabricatorConfigDatabaseStatusController.php
--- a/src/applications/config/controller/PhabricatorConfigDatabaseStatusController.php
+++ b/src/applications/config/controller/PhabricatorConfigDatabaseStatusController.php
@@ -165,12 +165,15 @@
       ),
       $comp->getIssues());
 
-    $box = id(new PHUIObjectBoxView())
+    $prop_box = id(new PHUIObjectBoxView())
       ->setHeader($this->buildHeaderWithDocumentationLink($title))
-      ->addPropertyList($properties)
-      ->appendChild($table);
+      ->addPropertyList($properties);
 
-    return $this->buildResponse($title, $box);
+    $table_box = id(new PHUIObjectBoxView())
+      ->setHeaderText(pht('Databases'))
+      ->setTable($table);
+
+    return $this->buildResponse($title, array($prop_box, $table_box));
   }
 
   private function renderDatabase(
@@ -219,7 +222,7 @@
           null,
         ));
 
-    $title = pht('Database Status: %s', $database_name);
+    $title = pht('Database: %s', $database_name);
 
     $actual_database = $actual->getDatabase($database_name);
     if ($actual_database) {
@@ -260,12 +263,15 @@
       ),
       $database->getIssues());
 
-    $box = id(new PHUIObjectBoxView())
+    $prop_box = id(new PHUIObjectBoxView())
       ->setHeader($this->buildHeaderWithDocumentationLink($title))
-      ->addPropertyList($properties)
-      ->appendChild($table);
+      ->addPropertyList($properties);
 
-    return $this->buildResponse($title, $box);
+    $table_box = id(new PHUIObjectBoxView())
+      ->setHeaderText(pht('Database Status'))
+      ->setTable($table);
+
+    return $this->buildResponse($title, array($prop_box, $table_box));
   }
 
   private function renderTable(
@@ -443,7 +449,7 @@
           null,
         ));
 
-    $title = pht('Database Status: %s.%s', $database_name, $table_name);
+    $title = pht('Database: %s.%s', $database_name, $table_name);
 
     if ($actual_table) {
       $actual_collation = $actual_table->getCollation();
@@ -470,13 +476,19 @@
       ),
       $table->getIssues());
 
-    $box = id(new PHUIObjectBoxView())
+    $prop_box = id(new PHUIObjectBoxView())
       ->setHeader($this->buildHeaderWithDocumentationLink($title))
-      ->addPropertyList($properties)
-      ->appendChild($table_view)
-      ->appendChild($keys_view);
+      ->addPropertyList($properties);
 
-    return $this->buildResponse($title, $box);
+    $table_box = id(new PHUIObjectBoxView())
+      ->setHeaderText(pht('Database'))
+      ->setTable($table_view);
+
+    $key_box = id(new PHUIObjectBoxView())
+      ->setHeaderText(pht('Keys'))
+      ->setTable($keys_view);
+
+    return $this->buildResponse($title, array($prop_box, $table_box, $key_box));
   }
 
   private function renderColumn(
diff --git a/src/applications/config/controller/PhabricatorConfigIssueListController.php b/src/applications/config/controller/PhabricatorConfigIssueListController.php
--- a/src/applications/config/controller/PhabricatorConfigIssueListController.php
+++ b/src/applications/config/controller/PhabricatorConfigIssueListController.php
@@ -28,25 +28,25 @@
       $setup_issues[] = id(new PHUIObjectBoxView())
         ->setHeaderText(pht('Important Setup Issues'))
         ->setColor(PHUIObjectBoxView::COLOR_RED)
-        ->appendChild($important);
+        ->setObjectList($important);
     }
 
     if ($php) {
       $setup_issues[] = id(new PHUIObjectBoxView())
         ->setHeaderText(pht('PHP Setup Issues'))
-        ->appendChild($php);
+        ->setObjectList($php);
     }
 
     if ($mysql) {
       $setup_issues[] = id(new PHUIObjectBoxView())
         ->setHeaderText(pht('MySQL Setup Issues'))
-        ->appendChild($mysql);
+        ->setObjectList($mysql);
     }
 
     if ($other) {
       $setup_issues[] = id(new PHUIObjectBoxView())
         ->setHeaderText(pht('Other Setup Issues'))
-        ->appendChild($other);
+        ->setObjectList($other);
     }
 
     if (empty($setup_issues)) {
diff --git a/src/applications/config/controller/PhabricatorConfigListController.php b/src/applications/config/controller/PhabricatorConfigListController.php
--- a/src/applications/config/controller/PhabricatorConfigListController.php
+++ b/src/applications/config/controller/PhabricatorConfigListController.php
@@ -18,7 +18,7 @@
 
     $core = id(new PHUIObjectBoxView())
       ->setHeaderText($title)
-      ->appendChild($core_list);
+      ->setObjectList($core_list);
 
     $apps = id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Applications Configuration'))
diff --git a/src/applications/differential/controller/DifferentialDiffViewController.php b/src/applications/differential/controller/DifferentialDiffViewController.php
--- a/src/applications/differential/controller/DifferentialDiffViewController.php
+++ b/src/applications/differential/controller/DifferentialDiffViewController.php
@@ -130,7 +130,7 @@
     $prop_box = id(new PHUIObjectBoxView())
       ->setHeader($property_head)
       ->addPropertyList($property_view)
-      ->appendChild($form);
+      ->setForm($form);
 
     return $this->buildApplicationPage(
       array(
diff --git a/src/applications/differential/controller/DifferentialRevisionViewController.php b/src/applications/differential/controller/DifferentialRevisionViewController.php
--- a/src/applications/differential/controller/DifferentialRevisionViewController.php
+++ b/src/applications/differential/controller/DifferentialRevisionViewController.php
@@ -837,9 +837,7 @@
     $viewer = $this->getViewer();
 
     $header = id(new PHUIHeaderView())
-      ->setHeader(pht('Similar Open Revisions'))
-      ->setSubheader(
-        pht('Recently updated open revisions affecting the same files.'));
+      ->setHeader(pht('Recent Similar Open Revisions'));
 
     $view = id(new DifferentialRevisionListView())
       ->setHeader($header)
diff --git a/src/applications/differential/view/DifferentialChangesetListView.php b/src/applications/differential/view/DifferentialChangesetListView.php
--- a/src/applications/differential/view/DifferentialChangesetListView.php
+++ b/src/applications/differential/view/DifferentialChangesetListView.php
@@ -250,6 +250,7 @@
 
     $object_box = id(new PHUIObjectBoxView())
       ->setHeader($header)
+      ->setCollapsed(true)
       ->appendChild($content);
 
     return $object_box;
diff --git a/src/applications/differential/view/DifferentialDiffTableOfContentsView.php b/src/applications/differential/view/DifferentialDiffTableOfContentsView.php
--- a/src/applications/differential/view/DifferentialDiffTableOfContentsView.php
+++ b/src/applications/differential/view/DifferentialDiffTableOfContentsView.php
@@ -251,8 +251,8 @@
 
     return id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Table of Contents'))
+      ->setTable($table)
       ->appendChild($anchor)
-      ->appendChild($table)
       ->appendChild($buttons);
   }
 
diff --git a/src/applications/differential/view/DifferentialLocalCommitsView.php b/src/applications/differential/view/DifferentialLocalCommitsView.php
--- a/src/applications/differential/view/DifferentialLocalCommitsView.php
+++ b/src/applications/differential/view/DifferentialLocalCommitsView.php
@@ -130,7 +130,7 @@
 
     return id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Local Commits'))
-      ->appendChild($table);
+      ->setTable($table);
   }
 
   private static function formatCommit($commit) {
diff --git a/src/applications/differential/view/DifferentialRevisionListView.php b/src/applications/differential/view/DifferentialRevisionListView.php
--- a/src/applications/differential/view/DifferentialRevisionListView.php
+++ b/src/applications/differential/view/DifferentialRevisionListView.php
@@ -195,7 +195,7 @@
     if ($this->header && !$this->noBox) {
       $list->setFlush(true);
       $list = id(new PHUIObjectBoxView())
-        ->appendChild($list);
+        ->setObjectList($list);
 
       if ($this->header instanceof PHUIHeaderView) {
         $list->setHeader($this->header);
diff --git a/src/applications/differential/view/DifferentialRevisionUpdateHistoryView.php b/src/applications/differential/view/DifferentialRevisionUpdateHistoryView.php
--- a/src/applications/differential/view/DifferentialRevisionUpdateHistoryView.php
+++ b/src/applications/differential/view/DifferentialRevisionUpdateHistoryView.php
@@ -307,7 +307,7 @@
     return id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Revision Update History'))
       ->setFlush(true)
-      ->appendChild($content);
+      ->setTable($content);
   }
 
   const STAR_NONE = 'none';
diff --git a/src/applications/diffusion/controller/DiffusionBranchTableController.php b/src/applications/diffusion/controller/DiffusionBranchTableController.php
--- a/src/applications/diffusion/controller/DiffusionBranchTableController.php
+++ b/src/applications/diffusion/controller/DiffusionBranchTableController.php
@@ -47,7 +47,7 @@
 
       $panel = id(new PHUIObjectBoxView())
         ->setHeaderText(pht('Branches'))
-        ->appendChild($view);
+        ->setTable($view);
 
       $content = $panel;
     }
diff --git a/src/applications/diffusion/controller/DiffusionBrowseDirectoryController.php b/src/applications/diffusion/controller/DiffusionBrowseDirectoryController.php
--- a/src/applications/diffusion/controller/DiffusionBrowseDirectoryController.php
+++ b/src/applications/diffusion/controller/DiffusionBrowseDirectoryController.php
@@ -59,7 +59,7 @@
 
       $browse_panel = new PHUIObjectBoxView();
       $browse_panel->setHeaderText($drequest->getPath(), '/');
-      $browse_panel->appendChild($browse_table);
+      $browse_panel->setTable($browse_table);
 
       $content[] = $browse_panel;
     }
diff --git a/src/applications/diffusion/controller/DiffusionBrowseSearchController.php b/src/applications/diffusion/controller/DiffusionBrowseSearchController.php
--- a/src/applications/diffusion/controller/DiffusionBrowseSearchController.php
+++ b/src/applications/diffusion/controller/DiffusionBrowseSearchController.php
@@ -103,7 +103,7 @@
 
     $box = id(new PHUIObjectBoxView())
       ->setHeaderText($header)
-      ->appendChild($table);
+      ->setTable($table);
 
     $pager_box = id(new PHUIBoxView())
       ->addMargin(PHUI::MARGIN_LARGE)
diff --git a/src/applications/diffusion/controller/DiffusionCommitController.php b/src/applications/diffusion/controller/DiffusionCommitController.php
--- a/src/applications/diffusion/controller/DiffusionCommitController.php
+++ b/src/applications/diffusion/controller/DiffusionCommitController.php
@@ -261,7 +261,7 @@
         $header->addActionLink($button);
       }
 
-      $change_panel->appendChild($change_table);
+      $change_panel->setTable($change_table);
       $change_panel->setHeader($header);
 
       $content[] = $change_panel;
@@ -918,7 +918,7 @@
 
     $panel = new PHUIObjectBoxView();
     $panel->setHeaderText(pht('Merged Changes'));
-    $panel->appendChild($history_table);
+    $panel->setTable($history_table);
     if ($caption) {
       $panel->setInfoView($caption);
     }
diff --git a/src/applications/diffusion/controller/DiffusionExternalController.php b/src/applications/diffusion/controller/DiffusionExternalController.php
--- a/src/applications/diffusion/controller/DiffusionExternalController.php
+++ b/src/applications/diffusion/controller/DiffusionExternalController.php
@@ -132,7 +132,7 @@
       $content = new PHUIObjectBoxView();
       $content->setHeaderText(pht('Multiple Matching Commits'));
       $content->setInfoView($caption);
-      $content->appendChild($table);
+      $content->setTable($table);
     }
 
     return $this->buildApplicationPage(
diff --git a/src/applications/diffusion/controller/DiffusionHistoryController.php b/src/applications/diffusion/controller/DiffusionHistoryController.php
--- a/src/applications/diffusion/controller/DiffusionHistoryController.php
+++ b/src/applications/diffusion/controller/DiffusionHistoryController.php
@@ -59,7 +59,7 @@
 
     $history_panel = new PHUIObjectBoxView();
     $history_panel->setHeaderText(pht('History'));
-    $history_panel->appendChild($history_table);
+    $history_panel->setTable($history_table);
 
     $content[] = $history_panel;
 
diff --git a/src/applications/diffusion/controller/DiffusionLintController.php b/src/applications/diffusion/controller/DiffusionLintController.php
--- a/src/applications/diffusion/controller/DiffusionLintController.php
+++ b/src/applications/diffusion/controller/DiffusionLintController.php
@@ -122,7 +122,7 @@
 
     $content[] = id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Lint'))
-      ->appendChild($table);
+      ->setTable($table);
 
     $title = array('Lint');
     $crumbs = $this->buildCrumbs(
diff --git a/src/applications/diffusion/controller/DiffusionLintDetailsController.php b/src/applications/diffusion/controller/DiffusionLintDetailsController.php
--- a/src/applications/diffusion/controller/DiffusionLintDetailsController.php
+++ b/src/applications/diffusion/controller/DiffusionLintDetailsController.php
@@ -74,7 +74,7 @@
 
     $content[] = id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Lint Details'))
-      ->appendChild($table);
+      ->setTable($table);
 
     $crumbs = $this->buildCrumbs(
       array(
diff --git a/src/applications/diffusion/controller/DiffusionPushEventViewController.php b/src/applications/diffusion/controller/DiffusionPushEventViewController.php
--- a/src/applications/diffusion/controller/DiffusionPushEventViewController.php
+++ b/src/applications/diffusion/controller/DiffusionPushEventViewController.php
@@ -43,7 +43,7 @@
 
     $commits_box = id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Pushed Commits'))
-      ->appendChild($commits_table);
+      ->setTable($commits_table);
 
     $logs = $event->getLogs();
 
@@ -54,7 +54,7 @@
 
     $update_box = id(new PHUIObjectBoxView())
       ->setHeaderText(pht('All Pushed Updates'))
-      ->appendChild($updates_table);
+      ->setTable($updates_table);
 
     return $this->buildApplicationPage(
       array(
diff --git a/src/applications/diffusion/controller/DiffusionRefTableController.php b/src/applications/diffusion/controller/DiffusionRefTableController.php
--- a/src/applications/diffusion/controller/DiffusionRefTableController.php
+++ b/src/applications/diffusion/controller/DiffusionRefTableController.php
@@ -127,7 +127,7 @@
 
     $content = id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Ref "%s"', $ref_name))
-      ->appendChild($table);
+      ->setTable($table);
 
     $crumbs = $this->buildCrumbs(array());
     $crumbs->addTextCrumb(pht('Refs'));
diff --git a/src/applications/diffusion/controller/DiffusionRepositoryController.php b/src/applications/diffusion/controller/DiffusionRepositoryController.php
--- a/src/applications/diffusion/controller/DiffusionRepositoryController.php
+++ b/src/applications/diffusion/controller/DiffusionRepositoryController.php
@@ -397,7 +397,7 @@
 
     $header->addActionLink($button);
     $panel->setHeader($header);
-    $panel->appendChild($table);
+    $panel->setTable($table);
 
     return $panel;
   }
@@ -572,7 +572,7 @@
       ->setHeader(pht('Recent Commits'))
       ->addActionLink($button);
     $panel->setHeader($header);
-    $panel->appendChild($history_table);
+    $panel->setTable($history_table);
 
     return $panel;
   }
@@ -658,7 +658,7 @@
       $browse_panel->appendChild($form_box);
     }
 
-    $browse_panel->appendChild($browse_table);
+    $browse_panel->setTable($browse_table);
 
     return $browse_panel;
   }
diff --git a/src/applications/diffusion/controller/DiffusionSymbolController.php b/src/applications/diffusion/controller/DiffusionSymbolController.php
--- a/src/applications/diffusion/controller/DiffusionSymbolController.php
+++ b/src/applications/diffusion/controller/DiffusionSymbolController.php
@@ -132,7 +132,7 @@
 
     $panel = new PHUIObjectBoxView();
     $panel->setHeaderText(pht('Similar Symbols'));
-    $panel->appendChild($table);
+    $panel->setTable($table);
 
     return $this->buildApplicationPage(
       $panel,
diff --git a/src/applications/fact/controller/PhabricatorFactHomeController.php b/src/applications/fact/controller/PhabricatorFactHomeController.php
--- a/src/applications/fact/controller/PhabricatorFactHomeController.php
+++ b/src/applications/fact/controller/PhabricatorFactHomeController.php
@@ -53,7 +53,7 @@
 
     $panel = new PHUIObjectBoxView();
     $panel->setHeaderText(pht('Facts'));
-    $panel->appendChild($table);
+    $panel->setTable($table);
 
     $chart_form = $this->buildChartForm();
 
diff --git a/src/applications/files/applicationpanel/PhabricatorFilesApplicationStorageEnginePanel.php b/src/applications/files/applicationpanel/PhabricatorFilesApplicationStorageEnginePanel.php
--- a/src/applications/files/applicationpanel/PhabricatorFilesApplicationStorageEnginePanel.php
+++ b/src/applications/files/applicationpanel/PhabricatorFilesApplicationStorageEnginePanel.php
@@ -87,7 +87,7 @@
 
     $box = id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Storage Engines'))
-      ->appendChild($table);
+      ->setTable($table);
 
     return $box;
   }
diff --git a/src/applications/fund/controller/FundInitiativeViewController.php b/src/applications/fund/controller/FundInitiativeViewController.php
--- a/src/applications/fund/controller/FundInitiativeViewController.php
+++ b/src/applications/fund/controller/FundInitiativeViewController.php
@@ -57,7 +57,7 @@
 
     $box = id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($properties);
+      ->addPropertyList($properties);
 
 
     $timeline = $this->buildTransactionTimeline(
diff --git a/src/applications/fund/query/FundBackerSearchEngine.php b/src/applications/fund/query/FundBackerSearchEngine.php
--- a/src/applications/fund/query/FundBackerSearchEngine.php
+++ b/src/applications/fund/query/FundBackerSearchEngine.php
@@ -143,7 +143,7 @@
 
     return id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Backers'))
-      ->appendChild($table);
+      ->setTable($table);
   }
 
 }
diff --git a/src/applications/legalpad/query/LegalpadDocumentSignatureSearchEngine.php b/src/applications/legalpad/query/LegalpadDocumentSignatureSearchEngine.php
--- a/src/applications/legalpad/query/LegalpadDocumentSignatureSearchEngine.php
+++ b/src/applications/legalpad/query/LegalpadDocumentSignatureSearchEngine.php
@@ -284,7 +284,7 @@
 
     $box = id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($table);
+      ->setTable($table);
 
     if (!$this->document) {
       $policy_notice = id(new PHUIInfoView())
diff --git a/src/applications/maniphest/controller/ManiphestBatchEditController.php b/src/applications/maniphest/controller/ManiphestBatchEditController.php
--- a/src/applications/maniphest/controller/ManiphestBatchEditController.php
+++ b/src/applications/maniphest/controller/ManiphestBatchEditController.php
@@ -173,7 +173,7 @@
 
     $task_box = id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Selected Tasks'))
-      ->appendChild($list);
+      ->setObjectList($list);
 
     $form_box = id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Batch Editor'))
diff --git a/src/applications/maniphest/controller/ManiphestReportController.php b/src/applications/maniphest/controller/ManiphestReportController.php
--- a/src/applications/maniphest/controller/ManiphestReportController.php
+++ b/src/applications/maniphest/controller/ManiphestReportController.php
@@ -272,7 +272,7 @@
     if ($caption) {
       $panel->setInfoView($caption);
     }
-    $panel->appendChild($table);
+    $panel->setTable($table);
 
     $tokens = array();
     if ($handle) {
@@ -653,7 +653,7 @@
 
     $panel = new PHUIObjectBoxView();
     $panel->setHeaderText($header);
-    $panel->appendChild($table);
+    $panel->setTable($table);
 
     $tokens = array();
     if ($project_handle) {
diff --git a/src/applications/maniphest/controller/ManiphestTaskDetailController.php b/src/applications/maniphest/controller/ManiphestTaskDetailController.php
--- a/src/applications/maniphest/controller/ManiphestTaskDetailController.php
+++ b/src/applications/maniphest/controller/ManiphestTaskDetailController.php
@@ -341,7 +341,7 @@
       $comment_box = id(new PHUIObjectBoxView())
         ->setFlush(true)
         ->setHeaderText($comment_header)
-        ->appendChild($comment_form);
+        ->setForm($comment_form);
       $timeline->setQuoteTargetID('transaction-comments');
       $timeline->setQuoteRef($object_name);
     }
diff --git a/src/applications/metamta/applicationpanel/PhabricatorMetaMTAApplicationEmailPanel.php b/src/applications/metamta/applicationpanel/PhabricatorMetaMTAApplicationEmailPanel.php
--- a/src/applications/metamta/applicationpanel/PhabricatorMetaMTAApplicationEmailPanel.php
+++ b/src/applications/metamta/applicationpanel/PhabricatorMetaMTAApplicationEmailPanel.php
@@ -56,7 +56,7 @@
 
     $box = id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($table);
+      ->setTable($table);
 
     return $box;
   }
@@ -175,7 +175,7 @@
 
     $object_box = id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($table);
+      ->setTable($table);
 
     $title = $application->getName();
 
diff --git a/src/applications/multimeter/controller/MultimeterSampleController.php b/src/applications/multimeter/controller/MultimeterSampleController.php
--- a/src/applications/multimeter/controller/MultimeterSampleController.php
+++ b/src/applications/multimeter/controller/MultimeterSampleController.php
@@ -235,7 +235,7 @@
           'Samples (%s - %s)',
           phabricator_datetime($ago, $viewer),
           phabricator_datetime($now, $viewer)))
-      ->appendChild($table);
+      ->setTable($table);
 
     $crumbs = $this->buildApplicationCrumbs();
     $crumbs->addTextCrumb(
diff --git a/src/applications/oauthserver/panel/PhabricatorOAuthServerAuthorizationsSettingsPanel.php b/src/applications/oauthserver/panel/PhabricatorOAuthServerAuthorizationsSettingsPanel.php
--- a/src/applications/oauthserver/panel/PhabricatorOAuthServerAuthorizationsSettingsPanel.php
+++ b/src/applications/oauthserver/panel/PhabricatorOAuthServerAuthorizationsSettingsPanel.php
@@ -135,7 +135,7 @@
 
     $panel = id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($table);
+      ->setTable($table);
 
     return $panel;
   }
diff --git a/src/applications/owners/controller/PhabricatorOwnersDetailController.php b/src/applications/owners/controller/PhabricatorOwnersDetailController.php
--- a/src/applications/owners/controller/PhabricatorOwnersDetailController.php
+++ b/src/applications/owners/controller/PhabricatorOwnersDetailController.php
@@ -129,7 +129,7 @@
         ->setText(pht('Edit Package')));
 
     $panel->setHeader($header);
-    $panel->appendChild($table);
+    $panel->setTable($table);
 
     $key = 'package/'.$package->getID();
     $this->setSideNavFilter($key);
diff --git a/src/applications/owners/controller/PhabricatorOwnersListController.php b/src/applications/owners/controller/PhabricatorOwnersListController.php
--- a/src/applications/owners/controller/PhabricatorOwnersListController.php
+++ b/src/applications/owners/controller/PhabricatorOwnersListController.php
@@ -330,7 +330,7 @@
 
     $panel = new PHUIObjectBoxView();
     $panel->setHeaderText($header);
-    $panel->appendChild($table);
+    $panel->setTable($table);
 
     return $panel;
   }
diff --git a/src/applications/people/controller/PhabricatorPeopleCreateController.php b/src/applications/people/controller/PhabricatorPeopleCreateController.php
--- a/src/applications/people/controller/PhabricatorPeopleCreateController.php
+++ b/src/applications/people/controller/PhabricatorPeopleCreateController.php
@@ -72,7 +72,7 @@
 
     $box = id(new PHUIObjectBoxView())
       ->setHeaderText($title)
-      ->appendChild($form);
+      ->setForm($form);
 
     return $this->buildApplicationPage(
       array(
diff --git a/src/applications/people/controller/PhabricatorPeopleInviteSendController.php b/src/applications/people/controller/PhabricatorPeopleInviteSendController.php
--- a/src/applications/people/controller/PhabricatorPeopleInviteSendController.php
+++ b/src/applications/people/controller/PhabricatorPeopleInviteSendController.php
@@ -163,7 +163,7 @@
             ->setErrors($confirm_errors)
             ->setSeverity($severity))
         ->setHeaderText(pht('Confirm Invites'))
-        ->appendChild($invite_table)
+        ->setTable($invite_table)
         ->appendChild($confirm_form);
     }
 
@@ -203,7 +203,7 @@
           ? pht('Revise Invites')
           : pht('Invite Users'))
       ->setFormErrors($errors)
-      ->appendChild($form);
+      ->setForm($form);
 
     return $this->buildApplicationPage(
       array(
diff --git a/src/applications/people/query/PhabricatorPeopleLogSearchEngine.php b/src/applications/people/query/PhabricatorPeopleLogSearchEngine.php
--- a/src/applications/people/query/PhabricatorPeopleLogSearchEngine.php
+++ b/src/applications/people/query/PhabricatorPeopleLogSearchEngine.php
@@ -188,6 +188,6 @@
 
     return id(new PHUIObjectBoxView())
       ->setHeaderText(pht('User Activity Logs'))
-      ->appendChild($table);
+      ->setTable($table);
   }
 }
diff --git a/src/applications/phortune/controller/PhortuneAccountEditController.php b/src/applications/phortune/controller/PhortuneAccountEditController.php
--- a/src/applications/phortune/controller/PhortuneAccountEditController.php
+++ b/src/applications/phortune/controller/PhortuneAccountEditController.php
@@ -120,7 +120,7 @@
     $box = id(new PHUIObjectBoxView())
       ->setHeaderText($title)
       ->setValidationException($validation_exception)
-      ->appendChild($form);
+      ->setForm($form);
 
     return $this->buildApplicationPage(
       array(
diff --git a/src/applications/phortune/controller/PhortuneAccountViewController.php b/src/applications/phortune/controller/PhortuneAccountViewController.php
--- a/src/applications/phortune/controller/PhortuneAccountViewController.php
+++ b/src/applications/phortune/controller/PhortuneAccountViewController.php
@@ -175,7 +175,7 @@
 
     return id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($list);
+      ->setObjectList($list);
   }
 
   private function buildInvoicesSection(
@@ -207,7 +207,7 @@
 
     return id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($table);
+      ->setTable($table);
   }
 
   private function buildPurchaseHistorySection(PhortuneAccount $account) {
@@ -258,7 +258,7 @@
 
     return id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($table);
+      ->setTable($table);
   }
 
   private function buildChargeHistorySection(PhortuneAccount $account) {
@@ -302,7 +302,7 @@
 
     return id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($table);
+      ->setTable($table);
   }
 
   private function buildSubscriptionsSection(PhortuneAccount $account) {
@@ -338,7 +338,7 @@
 
     return id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($table);
+      ->setTable($table);
   }
 
   protected function buildApplicationCrumbs() {
diff --git a/src/applications/phortune/controller/PhortuneCartCheckoutController.php b/src/applications/phortune/controller/PhortuneCartCheckoutController.php
--- a/src/applications/phortune/controller/PhortuneCartCheckoutController.php
+++ b/src/applications/phortune/controller/PhortuneCartCheckoutController.php
@@ -113,7 +113,7 @@
     $cart_box = id(new PHUIObjectBoxView())
       ->setFormErrors($errors)
       ->setHeaderText(pht('Cart Contents'))
-      ->appendChild($cart_table);
+      ->setTable($cart_table);
 
     $title = $cart->getName();
 
diff --git a/src/applications/phortune/controller/PhortuneCartViewController.php b/src/applications/phortune/controller/PhortuneCartViewController.php
--- a/src/applications/phortune/controller/PhortuneCartViewController.php
+++ b/src/applications/phortune/controller/PhortuneCartViewController.php
@@ -146,8 +146,8 @@
 
     $cart_box = id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($properties)
-      ->appendChild($cart_table);
+      ->addPropertyList($properties)
+      ->setTable($cart_table);
 
     if ($errors) {
       $cart_box->setFormErrors($errors);
@@ -180,7 +180,7 @@
 
     $charges = id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Charges'))
-      ->appendChild($charges_table);
+      ->setTable($charges_table);
 
     $account = $cart->getAccount();
 
diff --git a/src/applications/phortune/controller/PhortuneMerchantEditController.php b/src/applications/phortune/controller/PhortuneMerchantEditController.php
--- a/src/applications/phortune/controller/PhortuneMerchantEditController.php
+++ b/src/applications/phortune/controller/PhortuneMerchantEditController.php
@@ -164,7 +164,7 @@
     $box = id(new PHUIObjectBoxView())
       ->setValidationException($validation_exception)
       ->setHeaderText($title)
-      ->appendChild($form);
+      ->setForm($form);
 
     return $this->buildApplicationPage(
       array(
diff --git a/src/applications/phortune/controller/PhortuneMerchantInvoiceCreateController.php b/src/applications/phortune/controller/PhortuneMerchantInvoiceCreateController.php
--- a/src/applications/phortune/controller/PhortuneMerchantInvoiceCreateController.php
+++ b/src/applications/phortune/controller/PhortuneMerchantInvoiceCreateController.php
@@ -231,7 +231,7 @@
     $box = id(new PHUIObjectBoxView())
       ->setHeaderText(pht('New Invoice'))
       ->setFormErrors($errors)
-      ->appendChild($form);
+      ->setForm($form);
 
     return $this->buildApplicationPage(
       array(
diff --git a/src/applications/phortune/controller/PhortuneMerchantViewController.php b/src/applications/phortune/controller/PhortuneMerchantViewController.php
--- a/src/applications/phortune/controller/PhortuneMerchantViewController.php
+++ b/src/applications/phortune/controller/PhortuneMerchantViewController.php
@@ -50,7 +50,7 @@
 
     $box = id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($properties);
+      ->addPropertyList($properties);
 
     $timeline = $this->buildTransactionTimeline(
       $merchant,
@@ -293,7 +293,7 @@
 
     return id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($provider_list);
+      ->setObjectList($provider_list);
   }
 
 
diff --git a/src/applications/phortune/controller/PhortunePaymentMethodEditController.php b/src/applications/phortune/controller/PhortunePaymentMethodEditController.php
--- a/src/applications/phortune/controller/PhortunePaymentMethodEditController.php
+++ b/src/applications/phortune/controller/PhortunePaymentMethodEditController.php
@@ -65,7 +65,7 @@
 
     $box = id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Edit Payment Method'))
-      ->appendChild($form);
+      ->setForm($form);
 
     $crumbs = $this->buildApplicationCrumbs();
     $crumbs->addTextCrumb($account->getName(), $account_uri);
diff --git a/src/applications/phortune/query/PhortuneCartSearchEngine.php b/src/applications/phortune/query/PhortuneCartSearchEngine.php
--- a/src/applications/phortune/query/PhortuneCartSearchEngine.php
+++ b/src/applications/phortune/query/PhortuneCartSearchEngine.php
@@ -229,6 +229,6 @@
 
     return id(new PHUIObjectBoxView())
       ->setHeaderText($header)
-      ->appendChild($table);
+      ->setTable($table);
   }
 }
diff --git a/src/applications/phortune/query/PhortuneChargeSearchEngine.php b/src/applications/phortune/query/PhortuneChargeSearchEngine.php
--- a/src/applications/phortune/query/PhortuneChargeSearchEngine.php
+++ b/src/applications/phortune/query/PhortuneChargeSearchEngine.php
@@ -129,6 +129,6 @@
 
     return id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Charges'))
-      ->appendChild($table);
+      ->setTable($table);
   }
 }
diff --git a/src/applications/phortune/query/PhortuneSubscriptionSearchEngine.php b/src/applications/phortune/query/PhortuneSubscriptionSearchEngine.php
--- a/src/applications/phortune/query/PhortuneSubscriptionSearchEngine.php
+++ b/src/applications/phortune/query/PhortuneSubscriptionSearchEngine.php
@@ -160,6 +160,6 @@
 
     return id(new PHUIObjectBoxView())
       ->setHeaderText($header)
-      ->appendChild($table);
+      ->setTable($table);
   }
 }
diff --git a/src/applications/phriction/controller/PhrictionDiffController.php b/src/applications/phriction/controller/PhrictionDiffController.php
--- a/src/applications/phriction/controller/PhrictionDiffController.php
+++ b/src/applications/phriction/controller/PhrictionDiffController.php
@@ -149,7 +149,7 @@
           'a',
           array(
             'href' => $uri->alter('l', $l - 1)->alter('r', $r - 1),
-            'class' => 'button',
+            'class' => 'button simple',
           ),
           pht("\xC2\xAB Previous Change"));
       } else {
@@ -168,7 +168,7 @@
           'a',
           array(
             'href' => $uri->alter('l', $l + 1)->alter('r', $r + 1),
-            'class' => 'button',
+            'class' => 'button simple',
           ),
           pht("Next Change \xC2\xBB"));
       } else {
@@ -206,6 +206,7 @@
 
     $object_box = id(new PHUIObjectBoxView())
       ->setHeader($header)
+      ->setCollapsed(true)
       ->appendChild($output);
 
     return $this->buildApplicationPage(
diff --git a/src/applications/repository/controller/PhabricatorRepositoryListController.php b/src/applications/repository/controller/PhabricatorRepositoryListController.php
--- a/src/applications/repository/controller/PhabricatorRepositoryListController.php
+++ b/src/applications/repository/controller/PhabricatorRepositoryListController.php
@@ -83,7 +83,7 @@
       $header->addActionLink($button);
     }
     $panel->setHeader($header);
-    $panel->appendChild($table);
+    $panel->setTable($table);
 
     $projects = id(new PhabricatorRepositoryArcanistProject())->loadAll();
 
@@ -145,7 +145,7 @@
 
     $project_panel = new PHUIObjectBoxView();
     $project_panel->setHeaderText(pht('Arcanist Projects'));
-    $project_panel->appendChild($project_table);
+    $project_panel->setTable($project_table);
 
     $crumbs = $this->buildApplicationCrumbs();
     $crumbs->addTextCrumb(pht('Repository List'));
diff --git a/src/applications/settings/panel/PhabricatorActivitySettingsPanel.php b/src/applications/settings/panel/PhabricatorActivitySettingsPanel.php
--- a/src/applications/settings/panel/PhabricatorActivitySettingsPanel.php
+++ b/src/applications/settings/panel/PhabricatorActivitySettingsPanel.php
@@ -56,7 +56,7 @@
 
     $panel = id(new PHUIObjectBoxView())
       ->setHeaderText(pht('Account Activity Logs'))
-      ->appendChild($table);
+      ->setTable($table);
 
     $pager_box = id(new PHUIBoxView())
       ->addMargin(PHUI::MARGIN_LARGE)
diff --git a/src/applications/settings/panel/PhabricatorEmailAddressesSettingsPanel.php b/src/applications/settings/panel/PhabricatorEmailAddressesSettingsPanel.php
--- a/src/applications/settings/panel/PhabricatorEmailAddressesSettingsPanel.php
+++ b/src/applications/settings/panel/PhabricatorEmailAddressesSettingsPanel.php
@@ -147,7 +147,7 @@
       $header->addActionLink($button);
     }
     $view->setHeader($header);
-    $view->appendChild($table);
+    $view->setTable($table);
 
     return $view;
   }
diff --git a/src/applications/settings/panel/PhabricatorExternalAccountsSettingsPanel.php b/src/applications/settings/panel/PhabricatorExternalAccountsSettingsPanel.php
--- a/src/applications/settings/panel/PhabricatorExternalAccountsSettingsPanel.php
+++ b/src/applications/settings/panel/PhabricatorExternalAccountsSettingsPanel.php
@@ -135,11 +135,11 @@
 
     $linked_box = id(new PHUIObjectBoxView())
       ->setHeader($linked_head)
-      ->appendChild($linked);
+      ->setObjectList($linked);
 
     $linkable_box = id(new PHUIObjectBoxView())
       ->setHeader($linkable_head)
-      ->appendChild($linkable);
+      ->setObjectList($linkable);
 
     return array(
       $linked_box,
diff --git a/src/applications/settings/panel/PhabricatorHomePreferencesSettingsPanel.php b/src/applications/settings/panel/PhabricatorHomePreferencesSettingsPanel.php
--- a/src/applications/settings/panel/PhabricatorHomePreferencesSettingsPanel.php
+++ b/src/applications/settings/panel/PhabricatorHomePreferencesSettingsPanel.php
@@ -188,7 +188,7 @@
 
     $box = id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($list);
+      ->setObjectList($list);
 
     return $box;
   }
diff --git a/src/applications/settings/panel/PhabricatorMultiFactorSettingsPanel.php b/src/applications/settings/panel/PhabricatorMultiFactorSettingsPanel.php
--- a/src/applications/settings/panel/PhabricatorMultiFactorSettingsPanel.php
+++ b/src/applications/settings/panel/PhabricatorMultiFactorSettingsPanel.php
@@ -129,7 +129,7 @@
     $header->addActionLink($create_button);
 
     $panel->setHeader($header);
-    $panel->appendChild($table);
+    $panel->setTable($table);
 
     return $panel;
   }
diff --git a/src/applications/settings/panel/PhabricatorSSHKeysSettingsPanel.php b/src/applications/settings/panel/PhabricatorSSHKeysSettingsPanel.php
--- a/src/applications/settings/panel/PhabricatorSSHKeysSettingsPanel.php
+++ b/src/applications/settings/panel/PhabricatorSSHKeysSettingsPanel.php
@@ -71,7 +71,7 @@
     $header->addActionLink($upload_button);
 
     $panel->setHeader($header);
-    $panel->appendChild($table);
+    $panel->setTable($table);
 
     return $panel;
   }
diff --git a/src/applications/settings/panel/PhabricatorSessionsSettingsPanel.php b/src/applications/settings/panel/PhabricatorSessionsSettingsPanel.php
--- a/src/applications/settings/panel/PhabricatorSessionsSettingsPanel.php
+++ b/src/applications/settings/panel/PhabricatorSessionsSettingsPanel.php
@@ -138,7 +138,7 @@
 
     $panel = id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($table);
+      ->setTable($table);
 
     return $panel;
   }
diff --git a/src/applications/settings/panel/PhabricatorTokensSettingsPanel.php b/src/applications/settings/panel/PhabricatorTokensSettingsPanel.php
--- a/src/applications/settings/panel/PhabricatorTokensSettingsPanel.php
+++ b/src/applications/settings/panel/PhabricatorTokensSettingsPanel.php
@@ -91,7 +91,7 @@
 
     $panel = id(new PHUIObjectBoxView())
       ->setHeader($header)
-      ->appendChild($table);
+      ->setTable($table);
 
     return $panel;
   }
diff --git a/src/applications/xhprof/view/PhabricatorXHProfProfileSymbolView.php b/src/applications/xhprof/view/PhabricatorXHProfProfileSymbolView.php
--- a/src/applications/xhprof/view/PhabricatorXHProfProfileSymbolView.php
+++ b/src/applications/xhprof/view/PhabricatorXHProfProfileSymbolView.php
@@ -117,7 +117,7 @@
 
     $panel = new PHUIObjectBoxView();
     $panel->setHeaderText(pht('XHProf Profile'));
-    $panel->appendChild($table);
+    $panel->setTable($table);
 
     return $panel->render();
   }
diff --git a/src/applications/xhprof/view/PhabricatorXHProfProfileTopLevelView.php b/src/applications/xhprof/view/PhabricatorXHProfProfileTopLevelView.php
--- a/src/applications/xhprof/view/PhabricatorXHProfProfileTopLevelView.php
+++ b/src/applications/xhprof/view/PhabricatorXHProfProfileTopLevelView.php
@@ -134,7 +134,7 @@
     }
 
     $panel->setHeader($header);
-    $panel->appendChild($table);
+    $panel->setTable($table);
 
     return $panel->render();
   }
diff --git a/src/view/phui/PHUIObjectBoxView.php b/src/view/phui/PHUIObjectBoxView.php
--- a/src/view/phui/PHUIObjectBoxView.php
+++ b/src/view/phui/PHUIObjectBoxView.php
@@ -16,6 +16,8 @@
   private $metadata;
   private $actionListID;
   private $objectList;
+  private $table;
+  private $collapsed = false;
 
   private $tabs = array();
   private $propertyLists = array();
@@ -149,6 +151,17 @@
     return $this;
   }
 
+  public function setTable($table) {
+    $this->collapsed = true;
+    $this->table = $table;
+    return $this;
+  }
+
+  public function setCollapsed($collapsed) {
+    $this->collapsed = $collapsed;
+    return $this;
+  }
+
   public function setValidationException(
     PhabricatorApplicationTransactionValidationException $ex = null) {
     $this->validationException = $ex;
@@ -280,6 +293,7 @@
           $tabs,
           $tab_lists,
           $property_lists,
+          $this->table,
           $this->renderChildren(),
         ))
       ->setBorder(true)
@@ -293,6 +307,10 @@
       $content->addClass('phui-object-box-'.$this->color);
     }
 
+    if ($this->collapsed) {
+      $content->addClass('phui-object-box-collapsed');
+    }
+
     if ($this->tabs) {
       $content->addSigil('phui-object-box');
       $content->setMetadata(
diff --git a/webroot/rsrc/css/aphront/table-view.css b/webroot/rsrc/css/aphront/table-view.css
--- a/webroot/rsrc/css/aphront/table-view.css
+++ b/webroot/rsrc/css/aphront/table-view.css
@@ -204,11 +204,11 @@
 }
 
 .aphront-table-view tr.highlighted {
-  background: #fcf8e2;
+  background: #fdf9e4;
 }
 
 .aphront-table-view tr.alt-highlighted {
-  background: #fcf2bb;
+  background: {$sh-yellowbackground};
 }
 
 .aphront-table-view tr.no-data td {
diff --git a/webroot/rsrc/css/phui/phui-object-box.css b/webroot/rsrc/css/phui/phui-object-box.css
--- a/webroot/rsrc/css/phui/phui-object-box.css
+++ b/webroot/rsrc/css/phui/phui-object-box.css
@@ -7,6 +7,14 @@
   padding: 12px 12px 4px 12px;
 }
 
+.phui-object-box.phui-object-box-collapsed {
+  padding: 12px 0 0 0;
+}
+
+.phui-object-box.phui-object-box-collapsed .phui-header-shell {
+  padding: 0 4px 4px 16px;
+}
+
 div.phui-object-box.phui-object-box-flush {
   margin-top: 0;
 }
@@ -29,6 +37,14 @@
   margin: 12px 0 0 0;
 }
 
+.phui-object-box.phui-object-box-collapsed
+  .phui-header-shell + .phui-info-view {
+  margin: 0;
+  border-radius: 0;
+  border: 0;
+  border-bottom: 1px solid {$thinblueborder};
+}
+
 .device-phone .phui-object-box {
   margin: 8px 8px 0 8px;
 }