More committing while I fix Update_Code_Event to prevent it from getting lost. This includes a framework for GUI listeners to register themselves with various events so that can handle the event when one happens.