Framework for widgets