CompatibleObjectEncoder and CompatibleObjectDecoder used instead of ObjectEncoder and ObjectDecoder