renamed WidgetProvider to AbstractWidget according the PR
added interface method "option" for WidgetInterface
updated related class