Commit for implementation of widgets using interfaces

Change-Id: I906fbf67794e7bec7ff50a30427879da254e3bb0