Implementation of widgets using Interfaces