Implement Marshaler and Unmarshaler interfaces