sealed class Action { object btn1Action: Action() object btn2Action: Action() } class viewModel: ViewModel { events: MutableLiveData = MutableLiveData() fun actionOneClick() { events.value = btn1Action } fun actionTwoClick() { event.value = btn2Action } } class theView: Fragment { ... fun attachObserver() { viewmodel.events.observe { when (it) { atn1Event -> Do Action 1 event atn2Event -> Do Action 2 event } } } ... }