I didn't get anything done over the weekend either because I spent it at my niece's house. I've been working on things over the past few hours and I've fixed a few things. One of the more important things is that I added a 'Dead' variable to my GUI controls (err or I thought I did. Evidentially I already had one and I just added it to my Environment class lol. Guess I have to fix that.) Now I can kill controls without causing errors because I removed a control during a loop. A really good example is when you click "New Game" on the main menu. This changes the state (thus causing all of the Main Menu's controls to be removed), then creates and adds the new game state's controls, then returns to Environment::OnKeyDown() which is running an iterated loop on a map, then it all fails miserably and I cry; this is now fixed.
I'm also working on focusing things more into a game engine-y form. In the GameClass class's SetUp function I load the config file 'game.cfg' which has the game title, starting skin, starting map, etc in it.
I think I'll work on scripting for a while. The engine is ready for it and I've been wanting to work on it. I need to make a checklist for myself so I know what still needs to be done.