gwty-leaflet is mainly using Jsinterop for interfacing with LeafletJs. However, we have been using a little JSNI for defining Event objects, and the reason behind that was to benefit from the .cast() method for casting from the parent Event object to other types of child objects. Now JSNI is no longer used, and gwty-leaflet is 100 % Jsinterop, thanks to the work of olivergg. This github issue provides more details about the work done: https://github.com/gwidgets/gwty-leaflet/issues/7. The next step for gwty-leaflet is to replace the used HTML elements under .elemental package with Google’s Elemental 2.