inner class in Kotlin

The nested classes in Kotlin do not have access to the outer class instance.  In order to solve this issue, you need to mark the nested class with inner to create an inner class. Inner classes carry a reference to an outer class, and can access outer class members.
```
class Outer {
    val a = "Outside Nested class."
    inner class Inner {
        fun callMe() = a
    }
}

fun main(args: Array<String>) {
    val outer = Outer()
    println("Using outer object: ${outer.Inner().callMe()}")
    val inner = Outer().Inner()
    println("Using inner object: ${inner.callMe()}")
}
```