Finished up the messaging branch for v1 fairly simple but effective. Added unit tests as well.