Edit program window "Add" functionality

Pretty much untested, but appears to work so far.