agent() :
A third party that decides when to send ether to a payee
amount() :
The amount in escrow
balanceOf() :
The current amount in escrow
currentStage() :
The current stage: open (escrow contract is open; the payer hasn't paid yet), ongoing (escrow contract is open; payer has paid; payee didn't receive the ether), closed (payee received the ether)
deposit() :
Allows the payer to deposit ether into the escrow
init(address,address,address,uint256) :
Initializes the escrow
payee() :
The address being paid
payer() :
The address that will pay
release() :
Used by the agent to release funds to the payee
revertEscrow() :
Used by the agent to return funds to the payer
stageOf() :
Returns the current stage of the escrow