Lateinit Kotlin

The lateinit keyword allows you to avoid initializing a property when an object 
is constructed. If your property is referenced before being initialized, 
Kotlin throws an UninitializedPropertyAccessException , 
so be sure to initialize your property as soon as possible.
Wandering Wallaby