core now stores all widgets and solid widgets as weak ptr