Maybe you can use an observable pattern approach, using RxJava, the fragments can subscribe to check on events in the presenter and you can define a BaseFragment with a CompositeDisposable and add all the subscriptions there and dispose them when the onDestroy method is called, check out this example:
https://gist.github.com/david3pabon/697278c22cd6c19343517ef7c51b5dd6