Following up on the "performance issues" that I was reporting from before--the issue was that I was maxing out gun performance. I had done map().on() for ~50-60 objects and 3 - 4 additional on()s for each of those as well. gunjs seems to fire quite a lot for map().on() continually (honestly I haven't seen these calls end in my testing) so all of these on()s ended up clogging the system so that it would take 30 - 90 seconds to have a usable interface.
I refactored the whole system to only rely on the one map().on() for data and now things load an order of magnitude faster
// add listener to foo
gun.get('foo').on(callback, true)
// remove listener to foo
gun.get('foo').off()