Widget design refactored