draft widget lifecycle specification