Видимо проблема в том, что этот общий функционал в виде ActivityLifecycleCallbacks — медвежья услуга. По сути — как и базовый класс. Лучше заменить базовый класс на набор интерфейсов. Да, кода будет больше.
ну если во главу вопроса поставить наследование, то да. а если посмотреть с точки зрения, что базовые эти классы вечно замусорены всем подряд и такой способ позволяет хотя б ответственность раздробить - уже поприятнее