I went another route with this, and generalized the code some more in Admin. See https://github.com/isaacgrant/admin/commit/7791d983a69fc92575fd651b1f55a361c3889afb and c76c7e7