Delegation is design pattern that allows same code reuse as inheritance. In this talk we go through the details of why we should favor composition over inheritance by using delegation pattern and how the Kotlin programming language implements this concept out of the box.