Порывшись в интернете нашел ответ на свой вопрос.
blog.bradcampbell.nz/mvp-presenters-that-survive-c...
Этот парень создает некий Кэш, в котором он хранит все актуальные представления, добавляет новые и удаляет старые. При необходимости все представления формируются в объект, который отдается на хранение к Activity через метод
onRetainCustomNonConfigurationInstance
. После того как Activity пересоздалась нужно достать сохраненный объект с помощью
getLastCustomNonConfigurationInstance
и загрузить это все обратно в Кэш менеджер представлений.