Rewrote class interface, fixing multiple bugs, while adding ability to
change class ingame