Make a good use of [System.Serializable]