This interface represents an entity that can be written to an OutputStream
and has an identity that is represented by an integer. This identity is
essentially the type of the entity, and is used in order to know how to read
the entity back from an InputStream.