Reorganize the Widget to support new CoreWidget