interface TextField {
    fun getText(): String
    fun setText(text: String)
}

class SimpleTextField : TextField {
    private var text2 = ""
    override fun getText() = text2
    override fun setText(text: String) {
        this.text2 = text
    }
}

class TextFieldWrapper(textField: TextField) : TextField by textField

fun box() : String {
    val textField = TextFieldWrapper(SimpleTextField())
    textField.setText("OK")
    return textField.getText()
}
