title: Returning passed argument as object
body: <pre><code>function Hello(name) {
  
      function changeName(newName) {
         name = newName;
     }
  
      return {
        changeName: changeName,
        name: name
      };
  }
  
  var o=Hello("Martin");
  
  o.name;   // "Martin"
  
  o.changeName("Marc");
  
  o.name;   // "Martin"
  </code></pre>
  
  <p>From the above code it's clear that <code>changeName</code> is not changing the <code>name</code> property. </p>
  
  <p>1.Why is that?</p>
  
  <p>2.What is <code>changeName</code> actually changing?</p>