persisting-state-using-types