title: Object composition in Solidity
body: <p>How does object composition work in Solidity? I haven't found a comprehensive guide, and all examples seem to deal with hello world level stuff or ERC20 token implementations.</p>
  
  <ol>
  <li>Can I have a contract with public properties which are other contracts?</li>
  <li>Can these contract instances passed as function arguments between contracts?</li>
  </ol>