WIP - widget update logic