レベルの管理について(ハイスコアと同じ要領)

レベルの管理ってどうしたらいいのだろう。
以下のスクリプトで管理することはできるが、何かいい方法があれば教えて欲しいです。

using UnityEngine;
using System.Collections;

public class LevelManager : MonoBehaviour {

	public int CurrentLevel;
	public int PastCurrentLevel;


	public static LevelManager instance = null;
	void Awake(){
		DontDestroyOnLoad(this.gameObject);
		if(instance == null){
			instance = this;
		}
		
		if (PlayerPrefs.GetInt("PastCurrentLevel") == 0){
			PlayerPrefs.SetInt("PastCurrentLevel",1);
			CurrentLevel  = 1;
		}
		else{
			PastCurrentLevel = PlayerPrefs.GetInt("PastCurrentLevel");
			CurrentLevel = PastCurrentLevel;
		}

	}
	void Start () {
	}
	void Update () {
		if(CurrentLevel > PastCurrentLevel){
			PastCurrentLevel = CurrentLevel;
		}
	}

	public void LevelSave(){
		PlayerPrefs.SetInt("PastCurrentLevel", PastCurrentLevel);
		PlayerPrefs.Save();
	}
}