Why we need to implement `Serializable`?