Two new interfaces are introduced - an ISendMessage and IReceiveMessage. Some of the commands are refactored and implement the new interface.