Такие вопросы лучше в
@android_ru или
@Android_Architecture задавать, так как они опосредованно относятся к теме чата.
P.S. Я бы сделал "репозиторий", который будет хранить реактивный источник данных, на который будет подписываться приемник, а излучатель просто бы дергал методы "репозитория". Но вариант с интерфейсом тоже норм. В onAttach проверить, что активность реализует интерфейс, в случае ошибки кинуть человекочитаемое исключение.