Beginnings of the messaging module. Still needs quite a bit of work and some slight refactoring to clean up.