This lecture discusses how new functionality can be
plugged into an existing class using extension functions
and extension properties. It then moves on to
consider Kotlin's special syntax for supporting delegation.
It concludes with a look at the standard delegates that Kotlin
provides to customise access to the values of variables and properties: