@Paul Woitaschek That property seems to be just a slightly thinner implementation of the observable delegate. What benefit exactly does this give you over doing this?
var a by Delegates.observable("value") { prop, old, new -> println("has changed to $new") }