Adding support for widgets nesting + proper disposal of listeners when a widget is stopped