package Ġk note . util Ċ Ċ import Ġkotlin . reflect . K Property Ċ Ċ class ĠMutable K Observable Object < This , ĠT >( ĊĠĠĠ Ġvalue : ĠT Ċ ) Ġ: ĠK Observable Object < This , ĠT > Ġ{ ĊĠĠĠ Ġoverride Ġvar Ġvalue : ĠT Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallbacks . forEach Ġ{ Ġit . invoke ( value ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoperator Ġfun ĠsetValue ( self : ĠThis , Ġproperty : ĠK Property <* >, Ġt : ĠT ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġt ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġcallbacks : ĠMutable List <( newValue : ĠT ) Ġ-> ĠUnit > Ġ= Ġmutable ListOf () Ċ }