Refactored widgets not to use a base class