Lua conversion (untested)
Make messaging more loosely coupled

Removed counting the default variables in messages - what if you don't
actually want to use all of them?
Also, it doesn't do the interfaces any good =[
Spec update