Centralized widget updating, fixed how multiple widgets are handled, added logging statements