title: Difference between Delegates.notNull and lateinit Kotlin
body: <p>I am very confused both looks and works pretty similar. Which one should I go for?</p>
  
  <pre><code>private var mMediaController by Delegates.notNull&lt;MediaControllerCompat&gt;()
  </code></pre>
  
  <p>or </p>
  
  <pre><code>lateinit private var mMediaController: MediaControllerCompat
  </code></pre>
  
  <p>Usage:</p>
  
  <pre><code>    @Subscribe
      fun connectToSession(token: MediaSessionCompat.Token) {
           mMediaController = MediaControllerCompat(activity, token)
           mMediaController.registerCallback(mMediaControllerCallback)
      }
  </code></pre>