State Pattern Implementation in Kotlin | CodeSignal Learn