Refactored widget code out as separate file