Components are responsible for their own serialization