Ruckus
07/12/2016, 10:08 PMoperator fun <T> Property<T>.getValue(thisRef: Any?, property: KProperty<*>): T = value
operator fun <T> Property<T>.setValue(thisRef: Any?, property: KProperty<*>, value: T) {
    this.value = value
}
And then override primitive property types for Double, Float, Long, Int, and Boolean like so
operator fun DoubleProperty.getValue(thisRef: Any?, property: KProperty<*>) = value!!
operator fun DoubleProperty.setValue(thisRef: Any?, property: KProperty<*>, value: Double) {
    this.value = value
}