I've been thinking about how to implement Object Oriented design in Ethereum using the idea that an object is a contract and you send messages to it with the name of the method you would like to call.
I'd like to be able to instantiate new objects from old ones. I.e. if know a deck of cards exists at address 2e28fa9..., I'd like to be able to do something like "create_contract_from_old(2e28fa9...)" and have a brand new deck of cards.
I know this isn't possible in the current protocol, but is something like it planned?