title: Set and get property directly in delegate
body: <p>I want to set and get property passed to delegate like this (or should I maintain the state on delegate itself?):</p>
  
  <pre><code>class Example {
      var p: String by Delegate()
  }
  
  class Delegate() {
      operator fun getValue(thisRef: Any?, prop: KProperty&lt;*&gt;): String {
          if (prop/*.getValueSomehow()*/){ //&lt;=== is this possible
  
          } else {
             prop./*setValueSomehow("foo")*/
             return prop./*.getValueSomehow()*/ //&lt;=== is this possible
          }
      }
  
      operator fun setValue(thisRef: Any?, prop: KProperty&lt;*&gt;, value: String) {
          prop./*setValueSomehow(someDefaultValue)*/ //&lt;=== is this possible
      }
  }
  </code></pre>