Separate the widget registry from the widget managers; attach widget managers to kernels.

Yet to do: take care of clean-up when a kernel is deleted
Delete unnecessary save