Added sender and message classes and more infrastructure