Kotlin has built-in support for singletons, in the form of the
object instead of
class on a class definition. Kotlin will create
a single instance of the "class" and make that instance available by referring
to the object's "class" name. As the actual Kotlin class is internal and unavailable
to developers, there is no way to invoke its constructor and create another instance.