package com.keylesspalace.tusky.appstore import io.reactivex.rxjava3.core.Observable import io.reactivex.rxjava3.subjects.PublishSubject interface Event interface Dispatchable : Event interface EventHub { val events: Observable fun dispatch(event: Dispatchable) } object EventHubImpl : EventHub { private val eventsSubject = PublishSubject.create() override val events: Observable = eventsSubject override fun dispatch(event: Dispatchable) { eventsSubject.onNext(event) } }