Example #4: Separate your widget from your data source

View source