Fixed bugs to do with message sending, moved some IO methods into Methods, cleaned up a lot of code, in particular a load of possible null values are now typesafe Options