Formatter is an object that encodes and serializes data into messages at one end and decodes and deserializes messages into data at the other end.