I'm a very procedural programmer, so I am having trouble wrapping my head around your contracts system because it seems to be very abstract.
Can you please explain in more detail (preferably with an example) of how to make a useful contract in more of a real world scenario? Since it obviously can't do anything useful inside the ethereum network without also communicating outside of the network?