sealed class MVIViewState { object Loading: MVIViewState() class Error(val reason: String): MVIViewState() class Success(val result: String): MVIViewState() }