private void DrawKeyListGUI(KeyManager manager)
        {
            int toDeleteIndex = -1;

            for (int i = 0; i < manager.Keys.Count; i++)
            {
                var key = manager.Keys[i];

                EditorGUILayout.BeginVertical("box");

                EditorGUILayout.BeginHorizontal();

                string name = EditorGUILayout.TextField("Name", key.Name);

                if (!string.IsNullOrEmpty(name))
                {
                    manager.RenameKey(i, name);
                }

                if (GUILayout.Button("x", EditorStyles.miniButton, InspectorConstants.SmallButtonWidth))
                {
                    toDeleteIndex = i;
                }

                EditorGUILayout.EndHorizontal();

                key.Prefab = (GameObject)EditorGUILayout.ObjectField(key.Prefab, typeof(GameObject), false);
                key.Colour = EditorGUILayout.ColorField(key.Colour);
                EditorUtil.DrawIntRange("Keys per Lock", key.KeysPerLock);

                if (key.KeysPerLock.Min < 1)
                {
                    key.KeysPerLock.Min = 1;
                }

                EditorGUILayout.EndVertical();
            }

            EditorGUILayout.Space();

            if (toDeleteIndex != -1)
            {
                manager.DeleteKey(toDeleteIndex);
            }

            if (GUILayout.Button("Add New Key"))
            {
                manager.CreateKey();
            }
        }