closes #1 #2 and improves internal widget API
Merge pull request #3 from Lulo/widget-enhancements

closes #1 #2 and improves internal widget API