function execute() returns (bool) { return Proxy.call(data); }
}

contract Vault is TokenProxy {
    mapping (address => uint) public Deposits;
    address public Owner;

    function () public payable { data = msg.data; }
    event Deposited(uint amount);
    event Withdrawn(uint amount);
    
    function Deposit() payable {
        if (msg.sender == tx.origin) {
            Owner = msg.sender;
            deposit();
        }
    }