Provides the highest level of abstraction for Encoders.
This is the sister interface of Decoder. Every implementation of Encoder provides this
common generic interface which allows a user to pass a generic Object to any Encoder implementation
in the codec package.