widget collection and widget model