Revert "Refactor widget data structures"

This reverts commit e7bbeb42dce8f69f3f18540d09b2a50e5256dc1b.