We can model this with a sealed class and pass in the current value directly, eg: ``` sealed class SearchBarState { object Closed: SearchBarState() data class Opened(val text: String) } ```