Clean up lots of initialization, refactor a bunch of stuff out of CM3.java