Traits

A type that implements Emitable can be serialized.
A Parseable type can be used to deserialize data from the type T for which it is implemented.
A Parseable type can be used to deserialize data from the type T for which it is implemented.