Как использовать делегаты разрешения библиотеки поддержки Android?

В версии 27.0.0 библиотеки поддержки Android представлен класс FragmentCompat.PermissionCompatDelegate . Я задавался вопросом, что именно и как его использовать (чтение документов без какого-либо примера не помогло).

Я немного погрузился и обнаружил FragmentCompat.OnRequestPermissionsResultCallback , представленный в 24.1.0, а также заметил, что эти два вложенных интерфейса имеют варианты ActivityCompat , представленные в тех же версиях Support Library.

Могут ли эти интерфейсы разрешить любому классу управлять запросами на разрешения и предоставлять результаты без необходимости делать уродливые хаки, как это делается в большинстве этих библиотек, которые часто требуют расширения «BaseActivity» или «BaseFragment»?

Как их использовать? Если вы ответите кодом, комментарии Kotlin оценены, но Java тоже приняты!