I am looking at the implementation of Serializable above and I am unsure how by just applying this annotation, it automatically makes my data class have a new "serializer()" method to it. It doesn't seem like it is doing anything special so this makes me believe there is something hidden happening.