fix widget lazy init