Implements Serializable