Yes it's needed. It is used in the Encoder in virtual_attributes_to_stream, as the "object" of the encoder is the API resource and not the S2 resource.