for deserializing, implement a fromJSON deserialization factory function as an class method. This doesn't need to be a class function but can be any function as long as it can be found (see JSON.deserialize.NAMESPACE_ROOTS).