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.