1. A computer-implemented method of tracking and restoring computer configuration, comprising: determining one or more computer configuration variables to watch; monitoring a computer system for a series of changes in the one or more computer configuration variables; logging the series of changes as a series of saved states; registering one or more commands that caused the series of changes; determining a recovery state to which to restore a computer configuration variable; retrieving a restore value associated with the computer configuration variable corresponding to the recovery state; and executing one or more commands that change the computer configuration variable using the restore value.