title: Kotlin enforce value of property being set by a specific class
body: <p>Is it possible to enforce the value of a property to be obtained only by another class?</p>
  <p>I have <code>val itemValue by ItemValueDelegator()</code> and <code>ItemValueDelegator</code> returns an enum (ItemValue) after some business rule logic.</p>
  <p>can I enforce somehow that the value of <code>itemValue</code> is always obtained from <code>ItemValueDelegator</code>?</p>
  <p>I want to make impossible to do: <code>val itemValue = ItemValue.STOCK</code></p>