The idea is, that only presenter or handler (Presener without view) can recieve and fire events. Regarding this pattern, in case the view wants to fire an event, the view has to delegate the request to the presenter. The AbstractPresenter class and AbstractHandler is used to keep some informations needed by the framework and to inject the event bus (both) and in case it is a presenter the view instance.
If there is a requirement to deal with events and the class does not have a view, handlers can be used.
A screen is always represented by a presenter view pair. Classes without views are handlers in mvp4 and mvp4g2.
A view has to extend LazyReverseView. This allows the framdwork to inject the presetner instance into the view. Regarding J2CL / GWT 3, GWT.create, replacement rules and some other things will be gone. New widget libs start wirking without using the GWT Composite- or Widget-classes.
Hope that helps.