Just watched this tutorial (you can skip to 18:33 and pause to see what I'm referring to): https://www.youtube.com/watch?v=seU7DykOxfc
So it looks like the magical
msg object is available in all the public methods of smart contracts. I noticed that
msg.sender points to the address of 1) "self" when being called in a constructor and 2) the "other party" a.k.a. the method caller (another contract) when being called from a public method.
As you can see from the screenshot, the contract has a pointer to the
buyer and it calls
buyer.send(value). Technically can't it just call that until the buyer has no more money / ether? What's stopping this contract from just calling it with arbitrary numbers and then running away?