The client uses MessageProcessor to send/receive messages