property delegation

Property delegation acts the same way as class delegation but this time, on Kotlin properties. The class owning the property can delegate the property accessor calls to a delegate object instead of handling it by itself.