Writing upgradable contracts in Solidity
blog.colony.io