Abstract serializable and deserializable classes with documentation