Kotlin Property Initialization: by lazy vs lateinit | CodeTrail