Did a quick optimization pass on the starting mechanism, other small things.

On another note, you can now use System.exit() directly.