What's the advantage of this VS implementing `Serializable`?