Craziness happening with new key generation method... Also, since
actionPerformed can't accept arguments other than ActionEvent, need to
make all the things private global vars :P