重构ms-widget