You've successfully completed Chapter 2, Object Oriented Swift. In Lesson 1 and 6, you've learned how one init method may call the other init method through
convenience and two phase initializations. In Lesson 2, you've learned how to build relationship between variables using computed properties. You've also learned how to use property observers to track the state. Now, you no longer have to fear overriding properties, methods, and even init methods. You've also learned how to use type properties and methods that require no object initialization. Lastly, you've learned how to create a single object using the Singleton Pattern. In the following chapter, you will get a taste of functional programming with Swift starting off with closures.