Ported dashboard code.

Lots of updates, too many to document.