The addEventListener method helps to navigate in Suite from iframes by letting an app in an iframe be notified of hashchange events on top window. With its pair, the removeEventListener, the subscription can be cancelled.
A sample workflow is that the app gets the current top url with e.utils.v2.navigation.getTopUrl() and uses the hash/fragment for it's initial routing, then on any top hash change it updates it's current state. All links should use target="_top" attribute (or a <base> tag should be used for the same result). By that, the app can be opened in current tab or in a new tab or page, and won't lose it's current route on refresh.