IMO stop using widgets is too difficult and it just forces you to actually not use ANY widget with is super-annoying bc there are some widgets that are still pretty useful. If you use widgets, the whole hierarchy should be widget aware to make the widget work properly (you can handle the lifecycle manually but it is... "even worst"). But, you can use widgets just as a component architecture, and use elements inside this components intensively, even you can use native events directly instead of gwt unified events (this has some risks!). This project is developing the whole APP trying to avoid widgets (
https://github.com/hal/hal.next) or at least using elements intensively (using elemental2 and the user-friendly utility elemento), so you can really get inspired and get a good conclusion on how to progressively reduce widget dependency in your app. I have been also experimenting with widgets alternatives or widgets(less usage)-elemental(more usage) alternatives but I haven't concluded anything... (
https://github.com/ibaca/rxtodo-gwt/blob/widgets/src/main/java/todo/client/ApplicationElement.java).