Split code up into several files, hopefully grouped logically.