MVP и Kotlin: как частично избежать проверки на isViewAttached()

Это очень здорово, писать проекты следуя известным архитектурным паттернам и подходам, делая свой код проще для последующей поддержки, изящнее для читателей и удобнее для себя.

Во всем известном MVP перед каждым обращением ко View необходимо производить проверку ее текущего состояния на экране, с помощью метода isViewAttached().

Мне это надоело спустя несколько месяцев, но как решить проблему постоянного вызова этого метода средствами православной Java мой джуниорский ум никак не мог сообразить. Благо у нас есть Kotlin который развязывает тебе руки, давая делать во истину удивительные вещи “молодым и шутливым” типа меня.

Возьмем простую реализацию презентера от Hannes`а Dorfmann`а и немного ее улучшим (с точки зрения юзабельности. Как оно соответствует производительности, нравственности и прочим глубоким консистентным правилам надеюсь расскажут в комментариях):

Теперь, мы можем обращаться к нашим View чуть более изящно:

Надеюсь, что этой статьей (?) направил кого-нибудь в размышления, дабы придумать более классный и эффективный способ применения возможностей Kotlin в Mvp.

Этот же код можно посмотреть на Gist