Major refactor of SendMessage