Not only does message processing happen in a script, but you must launch an external program to connect out. This allows you to use netcat, socat, gnutls, or whatever other crazy thing you come up with.