Delegowane właściwości pozwalają wielokrotnie używać logiki get/set (lazy init, obserwacja zmian, walidacja) bez boilerplate. Właściwość delegujesz do obiektu, który dostarcza `getValue`/`setValue`.
var name: String by Delegates.observable("<init>") { _, old, new ->
println("$old -> $new")
}
name = "Ala"