Actually fix it
Widget functionality complete, pretty much. Still not wired up to the
backend.  That's the last piece of the puzzle.