Rename filter_virtual_attributes into extract_virtual_attributes
Refactor
Do not pass virtual attributes to the encoder as it's hold by self